2
當執行更新/只找_id時,我應該指定$ limit 1還是mongo已經隱式知道只有一個帶有指定id的記錄?更新/通過ID限制查找
當執行更新/只找_id時,我應該指定$ limit 1還是mongo已經隱式知道只有一個帶有指定id的記錄?更新/通過ID限制查找
是的,在集合的每個文檔中總會有唯一的_id。一個_id是由以下製成,因而它始終是獨一無二的,你只能找到相對應的一個_id
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.
我知道我最終會發現只有一個記錄,但我需要指定限制爲1或者1號文件在我用_id搜索時已經隱式設置了?如果我指定另一個字段但_id,則系統將繼續聚合,即使具有指定字段的文檔已被發現一次。 –
知道你沒有必要指定限制1,因爲默認情況下_id是索引,所以它會查找內存檢查索引並獲得結果給你,它不會進行集合掃描。 –
謝謝。這是我正在尋找的答案。 –