MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Uzyskaj dokument w MongoDB bez określania kolekcji

Tak, ale nie w sposób skalowalny (ponieważ do każdej kolekcji należy wykonać zapytanie). Jeśli masz 2 lub 3 kolekcje, może to być w porządku, ale... prawdopodobnie powinieneś przejrzeć swój projekt, aby dowiedzieć się, dlaczego to robisz. A tak przy okazji, dlaczego ty?

  1. Otrzymujesz listę wszystkich kolekcji w bazie danych.
  2. Pętla przez nie i zapytanie na podstawie _id

Przykładowy kod powłoki:

db.test1.save({});
db.test2.save({});  
db.test3.save({});
db.test4.save({});
db.test5.save({}); 
db.test6.save({});

db.test2.findOne(); // gives: { "_id" : ObjectId("4f62635623809b75e6b8853c") }

db.getCollectionNames().forEach(function(collName) {
   var doc = db.getCollection(collName).findOne({"_id" : ObjectId("4f62635623809b75e6b8853c")});
   if(doc != null) print(doc._id + " was found in " + collName); 
});  

daje:4f62635623809b75e6b8853c was found in test2



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Błąd połączenia Mongodb przez docker w springboot

  2. Podejścia MongoDB do przechowywania dużych ilości metryk / danych analitycznych

  3. Nie można połączyć się z serwerem mongodb podczas korzystania z NodeJS

  4. Jak zwrócić liczbę zaktualizowanych obiektów w mongodb?

  5. Mongo:zapytanie według klucza o jeden poziom głębokości