我正在创建类似fb的内容...我只想在主页上显示3条评论...如何仅限制一个字段...我的模式是这样的:
const postSchema = new Schema({
admin: { type: Types.ObjectId, ref: 'users', required: true },
text: { type: String, required: true },
comments: [{
postId: { type: Types.ObjectId, ref: 'posts', required: true },
admin: { type: Types.ObjectId, ref: 'users', required: true },
comment: { type: String, required: true },
time: { type: Date, default: Date.now }
}],
createdAt: { type: Date, default: Date.now },
modified: { type: Boolean, default: false }
});
我将所有评论排列在一个数组中...我想限制它们...请帮助
答案 0 :(得分:0)
尝试在MongoDB中使用$slice(投影)。 $ slice运算符控制查询返回的数组的项数。
如果您只想获取前3条评论,那么您的查询将如下所示:
db.slice.find( {}, { comments: { $slice: 3 } } )
如果您想要最后3条评论,那么您的查询将是:
db.slice.find( {}, { comments: { $slice: -3 } } )