0
我有以下模式:猫鼬总比赛嵌套文件
var PostSchema = mongoose.Schema({
idol: { type: Schema.Types.ObjectId, ref: 'User' },
views: [ String ],
likes: [ String ],
...
});
var UserSchema = mongoose.Schema({
name: String,
email: String,
...
});
,我有这个下面汇总查询:
Post.aggregate([
{ $match : { '$idol.name' : new RegExp(query, 'gi') } },
{ $skip : page * 20 },
{ $limit : 20 }
], function(err, posts) {}
该代码返回以下错误:
[MongoError: exception: bad query: BadValue unknown top level operator: $idol.name]
有没有办法匹配嵌套文档中的内容?
谢谢。
我知道。我只需要知道是否有一种方法来使用猫鼬填充聚合框架。 – 2015-02-08 00:07:47
不幸的是,这是不可能的。 Aggregate()是一个MongoDB操作,而populate()是一个高级别的Mongoose抽象。调用populate()类似于调用两个Mongo find()调用。 Mongo无法自行加入集合。 – 2015-02-08 00:31:51