8
A
回答
16
我希望爲mongo數組中的對象添加_id作爲屬性。
我認爲:結構對這個問題
{
g: [
{ _id: ObjectId(), property: '' },
// next
]
}
類型。
這是一個很好的做法嗎?
不正常。 _id
是實體的唯一標識符。因此,如果您希望在子文檔對象中添加_id
,那麼您可能沒有很好地對數據進行規範化處理,這可能表明您的模式設計中存在一個基本缺陷。
子文檔被設計爲包含該文檔的重複數據,即地址或用戶或其他東西。
這就是說_id
並不總是一件壞事添加。以我剛纔提到的地址爲例。假設你有一個購物車系統,並且(出於某種原因)你沒有將地址複製到訂單文檔中,那麼你將使用_id
或其他標識符來獲取該子文檔。
你也必須考慮鏈接文件。如果_id
描述了另一個文檔,並且屬性是該文檔相對於該鏈接文檔的自定義屬性,那麼也沒關係。
索引編制有問題嗎?
一個ObjectId
還是相當可觀的,這樣是值得考慮過更小,更獨特的ID或不使用_id
在所有的子文檔。
對於索引,它並不與文檔本身的標準_id
字段有任何不同,並且整個字段中的唯一索引應該在整個集合中工作(依賴於方案,測試您的查詢)。
注意:MongoDB不會爲您添加_id
子文檔。
相關問題
- 1. Mongo Java Array
- 2. mongo php insert with _id
- 3. 水壺mongo _id
- 4. MongoDB - 聚合組合和2個層次的aub-array和subdocument
- 5. Mongo _id類定義
- 6. Elasticsearch mongo-connector KeyError _id
- 7. Mongo Join String Array
- 8. Mongo findOne Array內
- 9. mongo php在_id中找到$的問題
- 10. Mongo upsert - 指定_id類型
- 11. Mongodb array in array
- 12. for loop array length
- 13. preg_replacement()for php array
- 14. Twig For loop array
- 15. attr_accessor for array?
- 16. Json array for quiz
- 17. MongoDB查找數組中的元素(subdocument)
- 18. 由Mongo過濾ElasticSearch結果_id
- 19. 未在ElasticSearch中添加Mongo'_id'字段
- 20. Array For Loop - Exceeded Value
- 21. setText for JTextfield from array
- 22. For循環和Array
- 23. Javascript for loop with array
- 24. android for loop magnitude array
- 25. Countries Array check for value
- 26. wercker for sails + mongo db
- 27. 使用PHP從mongo db獲取基於「_id」的記錄
- 28. 減去日期通過Mongo查詢由Pikking從Array
- 29. mongo操作速度:array $ addToSet/$ pull vs object $ set/$ unset
- 30. 在PHP中使用_id的Mongo日期範圍查詢
這個問題有點模糊。你能提供更多的細節嗎? – Eric
http://stackoverflow.com/questions/8245538/mongodb-id-cannot-be-an-array – 42n4
我不認爲這個鏈接與這個問題有任何關係。 – Sammaye