литерал mongoose $ в проекции метода поиска

#database #mon&oose #mon&oose-schema

#База данных #mon&oose #mon&oose-schema

Вопрос:

У меня есть метод поиска mon&oose, подобный этому,

 photo.find({},{
name:1,
src:1,
likes:{$literal:[]},
dislikes:{$literal:[]},
}).then(photos =&&t; ....)
  

чего я хочу, так это того, чтобы при запуске кода поле «нравится» и «не нравится» должно быть пустым массивом для каждой записи.
Я пробую этот способ, но не работает.

  Unsupported projection option: likes: { $literal: 1 }
  

Есть идея добавить значение по умолчанию для любого поля в методе поиска?

Ответ №1:

Согласно mon&oose, схема документа создается во время его создания. Таким образом, вы также можете редактировать схему со значением по умолчанию, поэтому для каждой записи при ее создании будут создаваться лайки и антилайки с пустыми значениями.

Вы также можете поступить таким образом, если чувствуете, что управление схемой не в ваших руках.

https://mon&oosejs.com/docs/2.7.x/docs/defaults.html

 photo.find({ 'name' : '1', 'likes': {$ne: []}})