Có, nhưng không phải theo cách có thể mở rộng (vì bạn phải truy vấn từng bộ sưu tập). Nếu bạn có 2 hoặc 3 bộ sưu tập, điều này có thể ổn, nhưng ... bạn có thể nên xem lại thiết kế của mình để tìm ra lý do tại sao bạn lại làm điều này. Nhân tiện, tại sao lại là bạn?
- Bạn nhận được danh sách tất cả các bộ sưu tập trong cơ sở dữ liệu.
- Bạn lặp lại chúng và truy vấn dựa trên _id
Mã vỏ mẫu:
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);
});
cho:4f62635623809b75e6b8853c was found in test2