Dlaczego nie mogę usunąć rekordu przez _id?Usunąć rekord przez id?
Kod:
db.collection('posts', function(err, collection) {
collection.remove({_id: '4d512b45cc9374271b00000f'});
});
Dlaczego nie mogę usunąć rekordu przez _id?Usunąć rekord przez id?
Kod:
db.collection('posts', function(err, collection) {
collection.remove({_id: '4d512b45cc9374271b00000f'});
});
Trzeba przekazać wartość _id
jako objectID, a nie ciąg znaków:
var mongodb = require('mongodb');
db.collection('posts', function(err, collection) {
collection.deleteOne({_id: new mongodb.ObjectID('4d512b45cc9374271b00000f')});
});
MongoDB teraz oznaczone jako przestarzałe metody usuń. Został zastąpiony przez dwie oddzielne metody: deleteOne i deleteMany.
Oto ich znaczenie Getting Started Guide: https://docs.mongodb.org/getting-started/node/remove/
i tu jest szybkie próbki:
var mongodb = require('mongodb');
db.collection('posts', function(err, collection) {
collection.deleteOne({_id: new mongodb.ObjectID('4d512b45cc9374271b00000f')}, function(err, results) {
if (err){
console.log("failed");
throw err;
}
console.log("success");
});
});
To działa! Dziękujemy) – Sable
Czy można usunąć tablicę identyfikatorów jednocześnie? – Denis
@Denis Sure, po prostu użyj ['$ in'] (http://docs.mongodb.org/manual/reference/operator/query/in/#op._S_in):' {_id: {$ in: idsArray} } ' – JohnnyHK