sql >> Databáze >  >> NoSQL >> MongoDB

Pokud mám id dokumentu mongo jako řetězec, jak jej mohu zadat jako _id?

Myslíte, že máte řetězec 24 hexadecimálních číslic ObjectId?

Za předpokladu, že to máte na mysli, většina ovladačů má způsob, jak vzít řetězec a převést jej na ObjectId. V JavaScriptu je to:

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

Aktualizováno být o něco užitečnější pro ovladač node-native (z dokumentace na 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. MongoDb - Změňte typ z Int na Double

  2. Možnost generování duplicitních Mongo ObjectId ve dvou různých kolekcích?

  3. Rozdíl mezi protokolem Redis AOF a Tarantool WAL

  4. Připojte se k AWS ElastiCache pomocí In-Transit Encryption