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

Je v pořádku používat Mongo's Object ID jako svůj jedinečný identifikátor? Pokud ano, jak jej mohu převést na řetězec a vyhledat jej podle řetězce?

Můžete vytvořit nový ObjectId pomocí řetězce. Tento příklad používá konzolu MongoDB:

db.users.find({ _id: ObjectId("4cdfb11e1f3c000000007822") })

Z vaší otázky nedokážu určit, jaký jazykový ovladač používáte (pokud vůbec nějaký), ale většina ovladačů tuto funkci také podporuje.

NEMĚLI byste převádět ObjectId v databázi na řetězec a poté jej porovnejte s jiným řetězcem. Pokud byste to udělali, MongoDB nemůže použít _id index a bude muset naskenovat všechny dokumenty, což povede ke špatnému výkonu dotazů.



  1. MongoDB jako úložiště souborů

  2. Jak vizualizovat použití Resque pomocí Node.js, WebSockets a Redis

  3. Jak pomocí Predis NASTAVIT (tj. uložit) vícerozměrné asociativní pole?

  4. ruby resque bez nakládacích kolejnic prostředí