MongoDB
 sql >> Datenbank >  >> NoSQL >> MongoDB

Wenn ich eine Mongo-Dokument-ID als Zeichenfolge habe, wie kann ich sie als _id abfragen?

Meinen Sie, Sie haben die 24-Hexadezimalzeichenkette einer ObjectId?

Angenommen, das meinen Sie, haben die meisten Treiber eine Möglichkeit, eine Zeichenfolge zu nehmen und sie in eine ObjectId zu konvertieren. In JavaScript ist das:

.find({_id:new ObjectId("4f91bfcfaa7c5687a0c686d4")})

Aktualisiert etwas nützlicher für den Knoten-nativen Treiber sein (aus der Dokumentation unter https://github.com/christkv/node-mongodb-native):

// Get the objectID type
var ObjectID = require('mongodb').ObjectID;

var idString = '4e4e1638c85e808431000003';
collection.findOne({_id: new ObjectID(idString)}, console.log)  // ok
collection.findOne({_id: idString}, console.log)  // wrong! callback gets undefined