Mongoose.js嵌套对象查询

时间:2015-10-05 01:01:58

标签: node.js mongodb mongoose

所以这很简单,但我慢慢陷入疯狂,我将现有的json导入mongoDB:

{
    "_id": {
        "$oid": "5611acaca5ea5f7c5d1a1f41"
    },
    "abilities":[
        {
            "name":"name1"
        },
        {
            "name":"name2"
        }
    ]
}

在我的应用中使用角色模型:

var mongoose = require('mongoose'),
    Schema = mongoose.Schema;

var AbilitySchema = new Schema({
    name:String
});

var CharacterSchema = new Schema({
        abilities:[AbilitySchema]
});

var character = mongoose.model('character', CharacterSchema, 'character_collection');

module.exports = {
    Character: character
};

在我的控制器中,我的查询:

Character.findOne({'abilities.name' : 'name1'}, function(err, data) {
    if (err) console.log(err);
    else console.log(data);
});

通过我的搜索似乎这种查询{'abilities.name':'name1'}将成为嵌套对象的方法,但我所有的尝试最终都会返回整个数据集(比这更大)这个抽象)或null,我无法弄清楚如何查询我的能力的属性,并沿着该文档的层次结构。

谢谢,Max。

0 个答案:

没有答案