不幸的是,僅deleteMany()
經過error和deleteWriteOpResult到您的回調使沒有實際的文件通過。
這不僅僅是Node.js的 - 這實際上是如何db.collection.deleteMany
作品蒙戈:
返回:包含的文件:
你有兩個要求這樣做,但你可以將它抽象掉在一個單一的功能 - 例如,如果您使用的native Mongo driver你可以寫這樣的事情:
function getAndDelete(collectionName, filter, callback) {
var collection = db.collection(collectionName);
collection.find(filter, function (err, data) {
if (err) {
callback(err);
} else {
collection.deleteMany(filter, function (err, r) {
if (err) {
callback(err);
} else {
callback(null, data);
}
});
}
});
}
,您可以調用與:
getAndDelete('testcollection', {
id: {
$in: ['1', '2', '3']
}
}, function (error, response) {
// ...
});
此代碼未經測試,但只給你一個想法從哪裏開始。
注:曾經有findAndRemove()
,但它已被棄用。
來源
2016-11-28 13:18:11
rsp
AFAIK,你不能那樣做。首先獲取所需的對象,然後刪除 – sidgate