小编Eva*_*olo的帖子

删除对象数组中的JSON属性

我有一个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列表理解时,它返回一个空数组.我需要纠正什么才能使其正常工作?

python json

18
推荐指数
2
解决办法
5万
查看次数

MongoDB - 清除嵌套数组中的项目

如果我的架构中有嵌套数组,我如何告诉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)

但嵌套数组中的项仍然存在.

mongodb

15
推荐指数
1
解决办法
1万
查看次数

与LiveReload不兼容的grunt-contrib-watch

我无法让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)

javascript gruntjs

13
推荐指数
1
解决办法
2万
查看次数

Bootstrap textarea在文本字段中添加空格字符

我正在使用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)

twitter-bootstrap

6
推荐指数
1
解决办法
3383
查看次数

为什么在单独的模型文件中使用model.export?

在查看有关拆分模型数据的问题的一些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...

mongoose mongodb node.js express

5
推荐指数
1
解决办法
7572
查看次数

D3转换 - 暂停和恢复

我试图从本指南中了解D3过渡的"暂停"和"恢复" .虽然我理解"暂停"是如何起作用的,但在"简历"方面我很少迷失.我无法理解作者的解释,特别是"线性"或第一次简历的解释.我的问题是什么e.attr("T",0);以及.attr("T",1);究竟在做什么?

我将恢复功能应用于视频或波形示例的播放头:jsfiddle

transition d3.js

5
推荐指数
1
解决办法
2458
查看次数

简单的AJAX获取请求正在"待定"

我正在尝试实现一个简单的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)

ajax jquery node.js express

5
推荐指数
1
解决办法
2万
查看次数

如何正确设置Backbone.js urlRoot方法

我无法理解urlRootBackbone.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)

jquery backbone.js

5
推荐指数
1
解决办法
7225
查看次数

Python:重构代码以删除全局变量

我目前在我的代码中使用一个名为的全局变量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)

python refactoring global-variables

5
推荐指数
1
解决办法
1525
查看次数

更新D3图表导致重复的图表

我有一段时间试图在点击按钮后将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 getjson d3.js

2
推荐指数
1
解决办法
1898
查看次数