sql >> Databasteknik >  >> NoSQL >> MongoDB

Om jag har ett mongo-dokument-id som en sträng, hur frågar jag efter det som ett _id?

Menar du att du har strängen med 24 hexadecimala siffror i ett ObjectId?

Förutsatt att det är vad du menar, har de flesta drivrutiner ett sätt att ta en sträng och konvertera den till ett ObjectId. I JavaScript är det:

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

Uppdaterad för att vara lite mer användbar för den nod-native drivrutinen (från dokumentationen på 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. Vad gör Redis när det tar slut på minne?

  2. Använder redis som cache för en mysql-databas

  3. Vad är skillnaden mellan skärning och replikering i Mongo?

  4. Hur MongoDB Databas Automation förbättrar säkerheten