Да, но не масштабируемым способом (поскольку вы должны запрашивать каждую коллекцию).Если у вас есть 2 или 3 коллекции, это может быть хорошо, но ... вам, вероятно, следует пересмотреть свой дизайн, чтобы выяснить, почему вы это делаете.Кстати, почему?
- Вы получаете список всех коллекций в базе данных.
- Вы просматриваете их и делаете запрос на основе _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