1

对于我的测试应用程序,我使用以下模式存储文章和评论:

var commentSchema = new mongoose.Schema({
  author: String,
  text: String,
  created: Date
});

var articleSchema = new mongoose.Schema({
  title: String,
  text: String,
  comments: [commentSchema]
});

现在,我正在尝试获取在某个日期之后发布的所有评论(仅作为文章中的子文档存储)。此外,我只想要这个text领域,而不是那个author。这相当于:Comment.find({created: {$gte: date}}, "text")但由于评论没有存储在他们自己的数据存储中,所以这不起作用。

4

1 回答 1

0
db.articles.find({'comments.created': {$gte: date}}, {_id: 0, 'comment.text': 1})

我没有使用猫鼬,所以这个解决方案假设子文档是完整的文档,而不仅仅是一个 _ids 数组

于 2013-12-18T14:59:41.963 回答