sql >> Databáze >  >> NoSQL >> MongoDB

Jedinečné dokumenty v kolekci MongoDB

Můžete použít Unikátní složený index MongoDB

db.users.createIndex( { user: 1, comment: 1, whatever: 1 }, { unique: true } )

Několik případů:

> db.users.insert({user: "A", comment: "B", whatever: "C"})
WriteResult({ "nInserted" : 1 })
> db.users.insert({user: "A", comment: "C", whatever: "B"})
WriteResult({ "nInserted" : 1 })
> db.users.insert({user: "A", comment: "B", whatever: "C"})
> WriteResult({

    "nInserted" : 0,
    "writeError" : {
            "code" : 11000,
            "errmsg" : "insertDocument :: caused by :: 11000 E11000 duplicate key error index: test.users.$user_1_comment_1_whatev
er_1  dup key: { : \"A\", : \"B\", : \"C\" }"
    }
})

Vím, že jsem zde použil řetězce. Ale něco podobného by mohlo být možné také s ObjectId. Zkuste to prosím.




  1. MongoDB uvádí databáze s danou předponou v Go

  2. Mongoose:dotaz na celé jméno s regulárním výrazem

  3. Nelze se připojit k serveru 127.0.0.1:27017 pokus o připojení se nezdařil MongoDB

  4. Mohu snížit text v mongodb?