对于我的测试应用程序,我使用此架构存储文章和评论:
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")
但由于注释未存储在自己的数据存储中,因此无效。
答案 0 :(得分:0)
db.articles.find({'comments.created': {$gte: date}}, {_id: 0, 'comment.text': 1})
我没有使用过mongoose,所以这个解决方案假设子文档是完整的文档,而不仅仅是_ids的数组