Ответ 1
Я считаю, что вы ищете оператор $in
:
Site.deleteMany({ userUID: uid, id: { $in: [10, 2, 3, 5]}}, function(err) {})
Документация здесь: https://docs.mongodb.com/manual/reference/operator/query/in/
В документации есть метод deleteMany()
Character.deleteMany({ name: /Stark/, age: { $gte: 18 } }, function (err) {});
Я хочу удалить несколько документов, имеющих одно общее свойство, и другое свойство изменится. Что-то вроде этого:
Site.deleteMany({ userUID: uid, id: [10, 2, 3, 5]}, function(err)
{}
Каким будет правильный синтаксис для этого?
Я считаю, что вы ищете оператор $in
:
Site.deleteMany({ userUID: uid, id: { $in: [10, 2, 3, 5]}}, function(err) {})
Документация здесь: https://docs.mongodb.com/manual/reference/operator/query/in/
Вы также можете использовать.
Site.remove({ userUID: uid, id: { $in: [10, 2, 3, 5]}}, function(err, response) {});
Да, $in
- это идеальное решение:
Site.deleteMany({ userUID: uid, id: { $in: [10, 2, 3, 5] } }, function(err) {})
Мне пришлось изменить id
на _id
, чтобы он работал:
Site.deleteMany({ _id: [1, 2, 3] });
Это происходит, если идентификатор не определен и вместо него используется идентификатор по умолчанию:
"Mongoose назначает каждой из ваших схем поле _id по умолчанию, если оно не передается в конструктор схемы". мангусты
Вы ищете оператор $in
:
Site.deleteMany({ userUID: uid, id: { $in: [10, 2, 3, 5]}}, (err,sites) => {
console.log("deleted sites"+sites);
});