Как выполнить запрос массива id в Mongoose?

Скажем, у меня есть модель под названием User. У меня есть массив с идентификаторами объектов.

Я хочу получить все записи пользователя, которые "пересекаются" с массивом идентификаторов, которые у меня есть.

User.find({ records with IDS IN [3225, 623423, 6645345] }, function....

Ответ 2

Вот многоязычный способ использования оператора $in.

User.find()
  .where('fb.id')
  .in([3225, 623423, 6645345])
  .exec(function (err, records) {
    //make magic happen
  });

Я нахожу точечную нотацию, весьма удобную для запроса в поддоку.

http://mongoosejs.com/docs/queries.html

Ответ 4

Для меня, работайте таким образом

IDs=["5b00c4b56c7fb80918293dd9","5b00c4b56c7fb80918293dd7",...]
const users= await User.find({records:IDs}) 

Ответ 5

Ids - это массив идентификаторов объектов:

const ids =  [
    '4ed3ede8844f0f351100000c',
    '4ed3f117a844e0471100000d', 
    '4ed3f18132f50c491100000e',
];

с обратным вызовом:

User.find().where('_id').in(ids).exec(callback);

с асинхронной функцией:

records = await User.find().where('_id').in(ids).exec();