sql >> Database >  >> NoSQL >> MongoDB

Als ik een mongo-document-ID als een string heb, hoe vraag ik er dan naar als een _id?

Bedoel je dat je de 24 hexadecimale tekenreeks van een ObjectId hebt?

Ervan uitgaande dat u dat bedoelt, hebben de meeste stuurprogramma's een manier om een ​​string te nemen en deze om te zetten in een ObjectId. In JavaScript is dat:

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

Bijgewerkt om een ​​beetje nuttiger te zijn voor de node-native driver (uit de documentatie op 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


  1. De standaard beloftebibliotheek van Mongoose is verouderd in MEAN-stack

  2. MongoDB $reverseArray

  3. MongoDB Totale som van elke sleutel op een subdocument

  4. Wat is het maximale aantal parameters dat wordt doorgegeven aan $in query in MongoDB?