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