How to set a primary key in MongoDB?

前端 未结 9 975
再見小時候
再見小時候 2020-12-07 21:46

I want to set one of my fields as primary key. I am using MongoDB as my NoSQL.

9条回答
  •  北海茫月
    2020-12-07 22:14

    If you thinking like RDBMS, you can't create primary key. Default primary key is _id. But you can create Unique Index. Example is bellow.

    db.members.createIndex( { "user_id": 1 }, { unique: true } )
    
    db.members.insert({'user_id':1,'name':'nanhe'})
    
    db.members.insert({'name':'kumar'})
    
    db.members.find();
    

    Output is bellow.

    { "_id" : ObjectId("577f9cecd71d71fa1fb6f43a"), "user_id" : 1, "name" : "nanhe" }

    { "_id" : ObjectId("577f9d02d71d71fa1fb6f43b"), "name" : "kumar" }

    When you try to insert same user_id mongodb throws a write error.

    db.members.insert({'user_id':1,'name':'aarush'})
    

    WriteResult({ "nInserted" : 0, "writeError" : { "code" : 11000, "errmsg" : "E11000 duplicate key error collection: student.members index: user_id_1 dup key: { : 1.0 }" } })

提交回复
热议问题