在具有此结构的文档的 mongo (2.4.x) 集合中:
db.col.insert({ "_id" : { "owner" : "john" }, "value" : 10 });
db.col.insert({ "_id" : { "owner" : "mary" }, "value" : 20 });
我正在使用猫鼬(3.5.4)并尝试运行聚合管道但没有成功。这可以从 mongo 命令行客户端正常工作:
> db.col.aggregate({ $match : { "_id.owner": "john" } });
{ "result" : [ { "_id" : { "owner" : "john" }, "value" : 10 } ], "ok" : 1 }
但是当我使用 mongoose 时,它不能按预期工作:
Col.aggregate(
{ $match : { "_id.owner": "john" } },
function(err, result) {
console.log("ERR : " + err + " RES : " + JSON.stringify(result));
}
);
ERR : null RES : []
这是我正在使用的猫鼬模式:
var Col = new Schema({
_id: {
owner: String
},
value: Number
});
我不得不说一个简单的Col.find({ "_id.owner": "john" })
作品按预期工作。
我怎样才能让它工作?我无法修改文档的结构。