我有一个JSON数组,我正在用Python清理.我想删除该imageData
属性:
data.json
[{"title": "foo", "imageData": "xyz123"},
{"title": "bar", "imageData": "abc123"},
{"title": "baz", "imageData": "def456"}]
Run Code Online (Sandbox Code Playgroud)
我正在设置列表解析以删除属性,但我不确定如何创建关注的变量imageData
:
import json
with open('data.json') as json_data:
data = json.load(json_data)
clean_data = [ item for item in data if not item['imageData'] ]
# Write `clean_data` to new json file
Run Code Online (Sandbox Code Playgroud)
当我print
列表理解时,它返回一个空数组.我需要纠正什么才能使其正常工作?
如果我的架构中有嵌套数组,我如何告诉MongoDB删除特定模型的条目?
架构
var UserSchema = new Schema({
username: String,
documents: [Number]
});
Run Code Online (Sandbox Code Playgroud)
我试过这样的事情:
db.users.update({"username": "tom"}, {"$pullAll": {"documents": []}})
Run Code Online (Sandbox Code Playgroud)
但嵌套数组中的项仍然存在.
我无法让LiveReload与Grunt合作.我正在使用grunt-contrib-watch.当Grunt正在观看所述文件时,浏览器中没有任何内容正在重新加载.所以我会看到:
Running "watch" task
Completed in 0.203s at Thu Nov 21 2013 00:59:59 GMT-0500 (EST) - Waiting...
OK
>> File "views/index.html" changed.
Run Code Online (Sandbox Code Playgroud)
但浏览器窗口不会更新.我正在使用LiveReload 2.0.9.关于如何让它运行的任何建议?
Gruntfile.js
module.exports = function(grunt) {
'use strict';
grunt.initConfig({
express: {
dev: {
options: {
script: './app.js'
}
}
},
watch: {
tasks: [ 'express:dev' ],
options: {
livereload: true,
nospawn: true
},
files: [
'./views/index.html',
'./preprocessing/css/style.scss'
]
}
});
grunt.loadNpmTasks('grunt-express-server');
grunt.loadNpmTasks('grunt-contrib-watch');
grunt.registerTask('default', [ 'express:dev', 'watch' ]);
};
Run Code Online (Sandbox Code Playgroud) 我正在使用Bootstrap 3 RC1.我遇到的问题是textarea - 当页面加载时,它会向texarea添加3个空格,最终使占位符文本不可见,除非我手动删除空格.
我如何阻止这种情况发生?
HTML
<form id="noteSubmitForm">
<fieldset>
<textarea id="note-text" rows="6" placeholder="Add a note" class="form-control">
</textarea>
<div class="form group">
<button id="noteSubmitButton" type="submit" class="btn btn-success btn-custom">
Save Note
</button>
</div>
</fieldset>
</form>
Run Code Online (Sandbox Code Playgroud)
CSS
textarea#note-text {
width: 625px !important;
}
Run Code Online (Sandbox Code Playgroud) 在查看有关拆分模型数据的问题的一些Stackoverflow答案时,我看到两种不同的格式.见下文:
var UserSchema = mongoose.Schema({
name: String
})
module.exports = mongoose.model('User', UserSchema);
Run Code Online (Sandbox Code Playgroud)
与此方法:
var UserSchema = mongoose.Schema({
name: String
})
mongoose.model('User', UserSchema);
Run Code Online (Sandbox Code Playgroud)
使用module.exports...
与使用之间有什么区别mongoose.model...
?
我正在尝试实现一个简单的AJAX GET请求.此请求告诉服务器删除数据库中的文档.当我从服务器收到确认文档被删除的确认后,Chrome Inspector会显示请求处于"待处理"状态,最终导致服务器错误.
我做错了什么?
HTML
<div class="delete-note">
<a href="#"><i class="icon-minus-sign"></i></a>
</div>
Run Code Online (Sandbox Code Playgroud)
JS
$('.delete-note').click(function(e) {
var url = '/docs/' + doc_id + '/note_destroy/' + note_id;
$.ajax({
type: "GET",
url: url,
cache: false,
});
e.preventDefault();
});
Run Code Online (Sandbox Code Playgroud)
编辑:包括服务器端代码:
节点/快递
exports.note_destroy = function(req, res) {
Doc.findOne({ doc_id : req.params.doc_id }, function(err, data) {
if (err) throw (err);
note_id = req.params.note_id;
data.notes.id(note_id).remove();
data.save(function(err) {
if (err) throw (err);
console.log('note ' + note_id + 'is removed.');
});
});
};
Run Code Online (Sandbox Code Playgroud) 我无法理解urlRoot
Backbone.js中的工作原理.我试图_id
从NodeJS/MongoDB后端获取具有特定任务的任务.
我不太清楚的是如何将id属性传递给URI.我一直在使用Chrome开发工具执行以下操作:
var task = new App.Models.Task({ id: '51c09ae7d3b35d29d4dfdecd' });
task.fetch();
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
GET http://localhost:3000/tasks/:_id 500 (Internal Server Error)
Run Code Online (Sandbox Code Playgroud)
我该如何正确设置?
这是我的Backbone代码:
(function() {
window.App = {
Models: {},
Views: {},
Collections: {}
};
App.Models.Task = Backbone.Model.extend({
defaults: {
title: '',
completed: false
},
idAttribute: "_id",
urlRoot: '/tasks/:_id'
});
})();
Run Code Online (Sandbox Code Playgroud) 我目前在我的代码中使用一个名为的全局变量correct
.考虑到全局变形是不受欢迎的,有没有更好的方法来设置我的代码来"保护"全局变量?
from random import randint
from random import choice
lower = int(raw_input("Enter a lower integer constraint: "))
higher = int(raw_input("Enter a higher integer constraint: "))
correct = 0
def gen_randoms(lower, higher):
integers = list()
for x in xrange(4):
rand_int = randint(lower, higher)
integers.append(rand_int)
return integers
def gen_equation(integers):
nums = map(str, integers)
operators = ['*', '+', '-']
equation = 'num op num op num op num'
while 'op' in equation:
equation = equation.replace('op', choice(operators), 1)
while 'num' in equation: …
Run Code Online (Sandbox Code Playgroud) 我有一段时间试图在点击按钮后将JSON数据更新为D3直方图.
当我解决按钮点击更新问题时,D3 javascript现在每个按钮点击附加一个图表,导致重复的图表而不是简单地更新数据.
据我所知,append()
每次触发时,click事件都会调用D3代码,但是如何解决这个问题呢?因此每个点击只有一个图表包含更新的数据?
console.log('chart.js loaded');
$(document).ready(function() {
var vimeoVideoId = $('p#vimeoVideoId').text();
var api = 'http://localhost:3001/videos/' + vimeoVideoId + '/json';
function initData() {
$('#all-notes').click(function() {
getData();
});
}
function getData() {
$.getJSON(api, draw);
}
function draw(json) {
data = json;
var duration = data.duration;
var timeToSec = function(data) {
notes = [];
// convert min:sec to seconds
for(i=0; i < data.notes.length; i++) {
var min_sec = data.notes[i].timecode;
var tt = min_sec.split(':');
var seconds = tt[0]*60+tt[1]*1;
notes.push(seconds);
}
return …
Run Code Online (Sandbox Code Playgroud) jquery ×3
d3.js ×2
express ×2
mongodb ×2
node.js ×2
python ×2
ajax ×1
backbone.js ×1
getjson ×1
gruntjs ×1
javascript ×1
json ×1
mongoose ×1
refactoring ×1
transition ×1