所以这很简单,但我慢慢陷入疯狂,我将现有的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。