Как удалить несколько строк из той же коллекции MongoDB с помощью разных фильтров? [Дубликат]

Просто await три задачи отдельно, после их запуска.

var catTask = FeedCat();
var houseTask = SellHouse();
var carTask = BuyCar();

var cat = await catTask;
var house = await houseTask;
var car = await carTask;
29
задан Anurag Sharma 2 September 2013 в 07:05
поделиться

4 ответа

db.users.remove({'_id':{'$in':inactive_users}})
54
ответ дан Roman Pekar 19 August 2018 в 13:57
поделиться

Вам нужно передать идентификаторы в определенном формате, используя ObjectId():

db.users.remove({_id: {$in: [ObjectId('Item1'), ObjectId('Item2'), ObjectId('Item2')]}});

Remove не принимает целое число - вам нужно использовать экземпляр ObjectId с _id как string.

4
ответ дан julien bouteloup 19 August 2018 в 13:57
поделиться
var collection = db.users;
var usersDelete = [];
var ObjectID = req.mongo.ObjectID;   //req is request from express

req.body.forEach(function(item){     //req.body => [{'_id' : ".." , "name" : "john"}]
    usersDelete.push(new ObjectID(item._id));
});

collection.remove({'_id':{'$in': usersDelete}},function(){
    //res.json(contatos);
});
4
ответ дан user2878540 19 August 2018 в 13:57
поделиться

Перечислите их все и используйте оператор $in:

db.users.remove({_id:{$in:[id1, id2, id3, ... ]}})
9
ответ дан Yevgeniy Anfilofyev 19 August 2018 в 13:57
поделиться
  • 1
    Если список действительно на 100 000+ предметов, то вы можете разбить его на несколько сотен за звонок. – Sean Reilly 2 September 2013 в 07:44
Другие вопросы по тегам:

Похожие вопросы: