MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

Вземете документ в MongoDB, без да посочвате колекция

Да, но не по мащабируем начин (тъй като трябва да правите заявки за всяка колекция). Ако имате 2 или 3 колекции, това може да е добре, но... вероятно трябва да прегледате дизайна си, за да разберете защо правите това. Между другото, защо си?

  1. Получавате списък с всички колекции в базата данни.
  2. Преминавате през тях и правите заявки въз основа на _id

Примерен шел код:

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); 
});  

дава:4f62635623809b75e6b8853c was found in test2



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. използване на двойни кавички като низ

  2. MongoDB - избягване на кавички при вмъкване на запис

  3. Агрегирано поле на MongoDB в масив от обекти

  4. текстов индекс, необходим за $text заявка

  5. Docker mongo изображение „Връзката е отказана“ от друг контейнер