Есть ли противоположность мангуста populate () метод?(Mongoose, node.js, экспресс) - PullRequest
0 голосов
/ 18 декабря 2018

У меня есть две схемы мангусты, одна для пользователей и одна для сообщений.

Один пользователь может любить много сообщений.

В конце я хотел бы представить на стороне клиента все сообщения.Пользователь понравился в одном разделе, который я могу сделать с помощью метода populate (), а в другом разделе сообщения, которые ему не понравились, без создания дубликатов понравившихся сообщений.

Существует ли метод I unpopulate () Iможно использовать, чтобы получать только не понравившиеся сообщения?Если нет, то как лучше всего подойти к этому?

userScheme = 
   { 
    // some other fields…

    post: {
            type: Schema.Types.ObjectId,
            ref: 'Post'
        }
  }


postScheme = 
   { 
     // some other fields…

     user: {
            type: Schema.Types.ObjectId,
            ref: 'User'
        },
        likes: [
                {
                    type: Schema.Types.ObjectId,
                    ref: 'User'
                }
        ],

}

1 Ответ

0 голосов
/ 19 декабря 2018

Вы можете запросить все сообщения, у которых нет определенного пользователя в их массиве likes, то есть пользователь еще не понравился. Ссылка

Post.find({ likes: { $nin: [user._id] }})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...