MongoDB中是否可以对嵌入文档执行条件查询?

del*_*ber 1 mongoose mongodb

例如,假设我有以下架构

var Comments = new Schema({
    title     : String
  , body      : String
  , date      : Date
});

var BlogPost = new Schema({
    author    : ObjectId
  , title     : String
  , body      : String
  , buf       : Buffer
  , date      : Date
  , comments  : [Comments]
  , meta      : {
      votes : Number
    , favs  : Number
  }
});
Run Code Online (Sandbox Code Playgroud)

我知道如何通过评论属性查询BlogPost.如何进行查询,例如获取最新的五条评论?即反向排序ObjectId的所有注释,然后得到前五个结果.我是否需要将自己的评论集合分成这样做?

Ser*_*sev 5

希望有一天我们会有虚拟收藏.但在此之前,您必须将注释移动到单独的集合,以便能够对它们执行完整的查询.

或者,您可以使用聚合框架.