检查对象是否存在于数组中,如果在nodejs mongoose中存在设置状态为true

时间:2018-04-27 09:55:32

标签: node.js mongodb mongoose mongoose-schema

我在mongoose中有一个帖子模型如下:

let PostSchema = new mongoose.Schema({
   message: {
    type: String,
    default: 'NA'
   },
   likeCount: {
    type: Number,
    default: 0
   },
   likes: [{
    userId: {
        type: mongoose.Schema.Types.ObjectId,
        ref: 'User'
    }
   }]
});

所有喜欢的用户都将存储在like数组中。 现在我正在使用以下请求

/get_posts/:userID

其中userId是用户的ID,现在我想编写一个查询来获得如下结果:

{
   "posts": [
    {
        "_id": "5ae1975acf8db214e4a920cf",
        "message": "test message",
        "likeCount": 1,
        "isLiked": true
    },
    {
        "_id": "5ae2cf410cc9401ce4cd0bf6",
        "message": "test message 1",
        "likeCount": 2,
        "isLiked": false
    }
}

如果用户ID存在于likes数组中,则“isLiked”为true。请帮我写一下查询

0 个答案:

没有答案