我想設置我的領域之一作爲主鍵。我使用MongoDB作爲我的NoSQL。如何在MongoDB中設置主鍵?
回答
_id
字段是爲mongodb中的主鍵保留的,並且應該是唯一值。如果你沒有設置任何東西到_id
它會自動填充「MongoDB Id對象」。但是,您可以將任何獨特的信息放入該字段中。
附加信息:http://www.mongodb.org/display/DOCS/BSON
希望它幫助。
http://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/
您還可以查看這個鏈接和自動遞增的_id
領域。
實現此行爲的一種方法是將值設置爲_id
(它是爲MongoDB中的主鍵保留的)字段,它基於您希望視爲主鍵的自定義字段。
即,如果我想要employee_id
作爲主鍵,那麼在MongoDB中創建文檔時;分配_id
的值與employee_id
的值相同。
在mongodb _id字段爲主鍵保留。如果您沒有在對象中定義它,並且創建索引以確保性能,Mongodb將使用內部ObjectId值。
但是你可以把_id作爲你自己的唯一值,Mongodb會使用它而不是爲你製作一個。即使你想使用多個字段作爲主鍵,你可以使用一個對象:在創建這些ID時
{ _id : { a : 1, b: 1} }
只是要小心那個鍵(A和B中的例子)的問題,如果你交換的順序他們身邊,這被認爲是一個不同的對象。
如果您認爲RDBMS不能創建主鍵,則默認主鍵是_id。 但您可以創建Unique Index。示例如下。
db.members.createIndex({ "user_id": 1 }, { unique: true })
db.members.insert({'user_id':1,'name':'nanhe'})
db.members.insert({'name':'kumar'})
db.members.find();
輸出波紋管。
{ 「_id」:的ObjectId( 「577f9cecd71d71fa1fb6f43a」), 「USER_ID」:1, 「名稱」: 「南和」}
{ 「_id」:的ObjectId( 「577f9d02d71d71fa1fb6f43b」), 「名」 的「kumar」}
當您嘗試插入相同的user_id mongodb trow寫入錯誤。
db.members.insert({'user_id':1,'name':'aarush'})
寫結果({ 「nInserted」:0, 「writeError」:{ 「代碼」:11000, 「ERRMSG」:「E11000重複鍵錯誤收集:student.members指數:user_id_1 DUP關鍵:{:1.0}」 }} )
簡單,你可以使用db.collectionName.createIndex({urfield:1},{unique:true});
這是創建主鍵
的語法db。 <集合> .createIndex(<鍵和索引類型規範>,{ 獨特:真正})
讓我們看我們的數據庫已經收集命名學生和它的文檔已經鍵名爲student_id數據這就需要我們做一個主鍵。那麼命令應該如下所示。
db.student.createIndex({student_id:1},{unique:true})
您可以檢查此是否student_id數據集作爲主鍵,試圖重複的值添加到學生集合。
喜歡這個文件進一步信息,請https://docs.mongodb.com/manual/core/index-unique/#create-a-unique-index
- 1. 如何在SugarORM中設置主鍵
- 2. 如何在覈心數據中設置主鍵和外鍵?
- 3. 如何爲表設置多個主鍵?
- 4. 如何在Rails遷移中設置ruby中的主鍵?
- 5. 如何將外鍵設置爲java hibernate中的主鍵
- 6. 如何在Realm中設置唯一的主鍵?
- 7. 如何在融合表中的字段上設置主鍵
- 8. 如何在Django中設置主鍵最小值
- 9. 如何在Swift中爲Realm模型設置主鍵
- 10. 如何使用googledatastore在表中設置主鍵。
- 11. MongoDB中的僞主鍵 - 壞主意?
- 12. MongoDB。如何設置索引?
- 13. 如何將主鍵存儲在前端對象中MongoDB
- 14. 如何在CoreText中設置主角?
- 15. 如何在JarSplice中設置主類?
- 16. 如何在Maven中設置swc主題?
- 17. 如何使用實體框架將外鍵設置爲主鍵?
- 18. 如何在Flex中設置熱鍵?
- 19. 如何在EF中設置外鍵值?
- 20. before_filter在創建之前設置主鍵
- 21. 設置在Django模型的主鍵
- 22. 如何在Ubuntu 16上設置Mongodb?
- 23. 獲取MongoDB的主節點設置
- 24. 無法設置MongoDB的主機MongoRepository
- 25. Django如何在表單有效後設置自定義主鍵
- 26. 是否可以在共享主機環境中設置MongoDB?
- 27. 如何從laravel mongodb的結果集中刪除主鍵?
- 28. 如何使用自然主鍵將CSV導入到mongodb中?
- 29. Django如何設置主頁
- 30. 如何設置Emacs主題?
這確實是不回答'如何設置我的作爲主要key'領域之一,例如:我想USER_EMAIL關鍵用戶的集合,而是如何設置字段作爲關鍵和唯一 – 2015-04-19 06:01:44