我有一个 monogodb 集合,我可以像这样查询:
meteor:PRIMARY> db.answers.aggregate([
{$group: { _id: { owner: "$owner", locked: "$locked" } } }
]);
{ "_id" : { "owner" : "qCkecS4s8wjSRL4YS", "locked" : true } }
{ "_id" : { "owner" : "MQCMpT8xwh5ripBLA", "locked" : false } }
这在流星中完美地工作:
var result = Answers.find( {_id: id} )
但是当我在流星中执行此操作时,我得到一个错误:
var result = Answers.find( {_id: id}).aggregate([ {$group: { _id: { owner: "$owner", locked: "$locked" } } } ]);
我已经看到周围有包来支持聚合,但这真的需要吗?我将流星 1.1.0.1 与 mongodb 3.x 一起使用
下面是另一个示例:
var userSendin = Answers.find( {_id: id} );
var userSendin2 = Answers.aggregate([ { $match:{_id: id} } ]);
两者都应该有相同的结果,但只有 .find() 对我有用..
知道为什么吗?我没有可用的错误消息,只是第 xx 行中的错误。
您需要一个包来支持聚合。那里有很多,大多数是服务器端的,非反应性的。一个可靠的是来自流星黑客。 meteor add meteorhacks:aggregate
.