Ich versuche, ein Dokument anhand seiner ID auszuwählen
Ich habe es versucht:
collection.update({ "_id": { "$oid": + theidID } }
collection.update({ "_id": theidID }
collection.update({ "_id.$oid": theidID }}
Auch versucht:
collection.update({ _id: new ObjectID(theidID ) }
Dies gibt mir einen Fehler 500 ...
var mongo = require('mongodb')
var BSON = mongo.BSONPure;
var o_id = new BSON.ObjectID(theidID );
collection.update({ _id: o_id }
Keine dieser Arbeiten. Wie wähle ich mit _id aus?
javascript
mongodb
node.js
Kennzeichen
quelle
quelle
collection.find({"_id": ObjectId(theidID)})
sollte arbeiten.Antworten:
quelle
native_parser:false
- überprüfen Sie die Antwort von Raphael untenObjectID()
aufrequire('mongodb')
und nicht aufrequire('mongodb').MongoClient
mongoClient.ObjectID is not a constructor
Fehler bekommen.Dies ist der Ansatz, der für mich funktioniert hat.
quelle
Jetzt können Sie einfach Folgendes verwenden:
Die Dokumentation finden Sie hier
quelle
Mit
native_parser:false
:Mit
native_parser:true
:quelle
Ich habe diesen Code gerade in der Node.js-App in der Controller-Datei verwendet und er funktioniert:
Vergessen Sie nicht, "mongodb" vorher zu installieren. Wenn Sie die Verschlüsselung Ihrer Passwörter mit bcrypt mit "presave" verwenden, stellen Sie sicher, dass Sie das Passwort nicht nach jeder Änderung des Datensatzes in DB verschlüsseln.
quelle
quelle
Die Antwort hängt von dem Variablentyp ab, den Sie als ID übergeben. Ich habe eine Objekt-ID abgerufen, indem ich eine Abfrage durchgeführt und meine account_id als ._id-Attribut gespeichert habe. Mit dieser Methode fragen Sie einfach mit der Mongo-ID ab.
});
quelle
Das hat bei mir funktioniert. MongoDB verwenden
const mongoDB = require('mongodb')
Dann unten, wo ich meinen Express mache, bekomme ich einen Anruf.
quelle
Wenn Sie Mongosee verwenden, können Sie die Funktion vereinfachen
FindById:
diese ersetzen in mongodb:
"_id" : ObjectId("xyadsdd434434343"),
https://mongoosejs.com/docs/api.html#model_Model.findById
quelle