在MongoDB中,對象ID很可能跨越獨特的收藏品。是否有可能找到在單獨地使用對象ID MongoDB的文檔(不知道哪個集合)?
那麼是否有可能在不知道它在哪個集合的情況下僅使用對象ID 查詢文檔的Mongo數據庫?
感謝
在MongoDB中,對象ID很可能跨越獨特的收藏品。是否有可能找到在單獨地使用對象ID MongoDB的文檔(不知道哪個集合)?
那麼是否有可能在不知道它在哪個集合的情況下僅使用對象ID 查詢文檔的Mongo數據庫?
感謝
當你和@Sammaye在意見陳述的ObjectID將可能是獨一無二的,因爲(從mongodb site拍攝)
ObjectId is a 12-byte BSON type, constructed using:
a 4-byte value representing the seconds since the Unix epoch,
a 3-byte machine identifier,
a 2-byte process id, and
a 3-byte counter, starting with a random value.
所以它是非常不可能的它是相同。 (我似乎無法找到3字節計數器是否在所有集合中相同,或者每個集合中是否有相同的計數器)
爲了簡單起見,可以說對象數據庫中的每個記錄都是唯一的。
有沒有一個「查詢」,將搜索整個數據庫備案。 Mongodb沒有默認的方式來實現你所要求的。
對於一個不平凡的解決方案看評論
更新,如果你不小心數據庫多次查詢,可以
(這只是描述瞭如何做到這一點,因爲你沒有說明使用的是給你一個例子什麼編程語言)
謝謝。編寫一些javascript代碼(用於mongo db shell)來搜索給定對象ID的所有用戶集合必定是相當簡單的。 –
是的,但它不會是一個查詢,它將使用腳本多個查詢。我會添加一些東西給我的答案呈現你的建議。 –
謝謝。也許有人可以編寫用於MongoDB shell的javascript代碼。 ;) –
的Ojbect ID可能是獨一無二的,但可能不會像這樣不準確 – Sammaye