小编Nah*_*ahn的帖子

比较mongoose _id和字符串

我有一个node.js应用程序,它可以提取一些数据并将其粘贴到一个对象中,如下所示:

var results = new Object();

User.findOne(query, function(err, u) {
    results.userId = u._id;
}
Run Code Online (Sandbox Code Playgroud)

当我根据存储的ID执行if/then时,比较永远不会成立:

if (results.userId == AnotherMongoDocument._id) {
    console.log('This is never true');
}
Run Code Online (Sandbox Code Playgroud)

当我执行两个id的console.log时,它们完全匹配:

User id: 4fc67871349bb7bf6a000002 AnotherMongoDocument id: 4fc67871349bb7bf6a000002
Run Code Online (Sandbox Code Playgroud)

我假设这是某种数据类型问题,但我不知道如何将results.userId转换为数据类型,这将导致上述比较为真,我的外包大脑(又称谷歌)一直无法提供帮助.

mongoose mongodb node.js

176
推荐指数
6
解决办法
8万
查看次数

使Mongoose中需要所有字段

Mongoose似乎默认使所有字段不是必需的.是否有任何方法可以在不更改每个字段的情况下生成所有字段:

Dimension = mongoose.Schema(
  name: String
  value: String
)
Run Code Online (Sandbox Code Playgroud)

Dimension = mongoose.Schema(
  name:
    type: String
    required: true
  value: 
    type: String
    required: true
)
Run Code Online (Sandbox Code Playgroud)

它会变得非常难看,因为我有很多这些.

schema mongoose mongodb node.js

16
推荐指数
3
解决办法
2万
查看次数

猫鼬迁移

任何人都有一个迁移模块,用于使用mongoose插件迁移mongodb数据?

我目前正在使用"迁移"模块,除了我需要在每个向上/向下创建/销毁我的连接这一事实之外,它工作得很好.

IE

// Setup mongoose
var mongoose = require('mongoose')
  , Role = require('../models/role')
  , User = require('../models/user');

exports.up = function(next) {
  // get a brand new connection for this patch.
  mongoose.connect('mongodb://localhost/sagedb');

  var adminUser = {
    username: 'admin',
    password: 'admin'
  };

  User.createUser(adminUser, function(err, user) {
    if (err)  {
       mongoose.disconnect();  // Make sure to close connection
       return next(err);
    }

    mongoose.disconnect(next); // Make sure to close connection
  });
};

exports.down = function(next) {
  mongoose.connect('mongodb://localhost/sagedb'); // new connection for down

  User.getUserByUsername('admin', function(err, user) …
Run Code Online (Sandbox Code Playgroud)

migrate mongoose mongodb node.js

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

Angular js:从控制器访问以ng-repeat(ngRepeat)过滤的数据

我需要从我的控制器访问已经在模板上(在ng-repeat内部)过滤的数据.

这就是我的意思:

我的模板中有这个表:

 <table class="table">
        <thead>
            <th>Name</th>
            <th>Gender</th>
        </thead>
        <tbody>
            <tr ng-repeat="person in persons | filter:query">
                <td>{{person.name}}</td>
                <td>{{person.gender}}</td>
            </tr>
        </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

然后我有一个<select>用于按性别过滤数据的

<h1>Cluster:</h1>
    <select ng-model="query.gender" >
        <option value ="">ALL</option>
        <option value ="male">Male</option>
        <option value ="female">Female</option>
    </select>
Run Code Online (Sandbox Code Playgroud)

这没问题.

如果有人选择其中一个选项,我需要对过滤后的结果执行某些操作.这就是为什么我在我的控制器中有一个$ watch来查找过滤器查询的更改:

$scope.$watch('query.gender', function(newValue, oldValue) {
            // Here is where I need to get filtered results
});
Run Code Online (Sandbox Code Playgroud)

我的问题是:

如何从控制器访问FILTERED内容?

我最喜欢这个,而不必在控制器中进行另一个"过滤"操作......(因为数据已经过滤,结果是在内存中的某个地方,对吗?)

angularjs

6
推荐指数
2
解决办法
6797
查看次数

Django Haystack - 使用SearchQuerySet()按字段的子字符串过滤

我有一个使用SOLR进行索引的Django项目.

我正在尝试使用Haystack的SearchQuerySet类进行子字符串搜索.

例如,当用户搜索术语"ear"时,它应返回具有值为"Search"的字段的条目.如您所见,"耳朵""搜索"的SUBSTRING .(显然:))

换句话说,在一个完美的Django世界中,我想要的是:

SearchQuerySet().all().filter(some_field__contains_substring='ear')
Run Code Online (Sandbox Code Playgroud)

SearchQuerySet(https://django-haystack.readthedocs.org/en/latest/searchqueryset_api.html#field-lookups)的haystack文档中,它表示只支持以下FIELD LOOKUP类型:

  • 包含
  • 精确
  • gt,gte,lt,lte
  • 以..开始
  • 范围

我尝试使用__ contains,但它的行为完全一样__exact,它在一个句子中查找确切的单词(整个单词),而不是单词的子串.

我很困惑,因为这样的功能是非常基本的,我不确定我是否遗漏了某些东西,或者还有另一种方法可以解决这个问题(使用正则表达式还是什么?).

谢谢

django django-haystack

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

Mongoose没有`connect`方法

我使用npm在node.js上安装了mongoose.当我尝试连接此代码时:

mongoose = require('mongoose/').Mongoose
@db = mongoose.connect("mongodb://localhost/test")
Run Code Online (Sandbox Code Playgroud)

我收到此错误:

node.js:201
        throw e; // process.nextTick error, or 'error' event on first tick
              ^
TypeError: Object function Mongoose() {
  this.connections = [];
  this.plugins = [];
  this.models = {};
  this.modelSchemas = {};
  this.options = {};
  this.createConnection(); // default connection
} has no method 'connect'
    at new ChatService (/home/lolcoder/workspace/sampleApp/src/services/dbService.js:12:26)
    at Object.<anonymous> (/home/lolcoder/workspace/sampleApp/src/app.js:40:17)
    at Object.<anonymous> (/home/lolcoder/workspace/sampleApp/src/app.js:44:4)
    at Module._compile (module.js:441:26)
    at Object..js (module.js:459:10)
    at Module.load (module.js:348:31)
    at Function._load (module.js:308:12)
    at Array.0 (module.js:479:10)
    at EventEmitter._tickCallback (node.js:192:40)
Run Code Online (Sandbox Code Playgroud)

什么时候mongo …

mongoose mongodb node.js

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

使用kineticjs如何将图像对象旋转到位?

考虑以下代码:

var stage = new Kinetic.Stage({
            container : "container",
            width : 600,
            height : 200
        });

var layer = new Kinetic.Layer();


// one revolution per 4 seconds
var angularSpeed = Math.PI / 2;

var imageObj = new Image();
var image = {};
imageObj.onload = function() {
    image = new Kinetic.Image({
                x : 500,
                y : 135,
                image : imageObj,
                width : 99,
                height : 99,
                offsetX: 0,
                offsetY: 0
            });
    image.rotation = 0;

    layer.add(image);
    stage.add(layer);
    stage.onFrame(function(frame) {
                var angleDiff = …
Run Code Online (Sandbox Code Playgroud)

javascript animation kineticjs

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