如何仅在猫鼬中限制一个字段
我正在创建类似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 }
});
我在一个数组中有所有注释...我想限制它们...请帮助
回答如下:尝试在MongoDB中使用$slice(投影)。 $ slice运算符控制查询返回的数组的项数。
如果只想获取前3条评论,则查询如下:
db.slice.find( {}, { comments: { $slice: 3 } } )
如果您需要最后3条评论,那么您的查询将是:
db.slice.find( {}, { comments: { $slice: -3 } } )
如何仅在猫鼬中限制一个字段
我正在创建类似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 }
});
我在一个数组中有所有注释...我想限制它们...请帮助
回答如下:尝试在MongoDB中使用$slice(投影)。 $ slice运算符控制查询返回的数组的项数。
如果只想获取前3条评论,则查询如下:
db.slice.find( {}, { comments: { $slice: 3 } } )
如果您需要最后3条评论,那么您的查询将是:
db.slice.find( {}, { comments: { $slice: -3 } } )