Heim > Datenbank > MongoDB > Hauptteil

Doppelte Einträge in MongoDB vermeiden?

WBOY
Freigeben: 2023-08-29 08:29:13
nach vorne
1548 Leute haben es durchsucht

避免 MongoDB 中出现重复条目​​?

Um doppelte Einträge in MongoDB zu vermeiden, können Sie createIndex() verwenden. Die Syntax lautet wie folgt:

db.yourCollectionName.createIndex({"yourFieldName":1},{unique:true});
Nach dem Login kopieren

Implementieren wir die obige Syntax. Die Abfrage zur Vermeidung doppelter Einträge in MongoDB lautet wie folgt:

> db.avoidDuplicateEntriesDemo.createIndex({"UserName":1},{unique:true});
{
   "createdCollectionAutomatically" : true,
   "numIndexesBefore" : 1,
   "numIndexesAfter" : 2,
   "ok" : 1
}
Nach dem Login kopieren

Fügen Sie nun einige Datensätze in die obige Sammlung ein. Die Abfrage zum Einfügen eines Datensatzes lautet wie folgt:

> db.avoidDuplicateEntriesDemo.insertOne({"UserName":"John"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c90e1824afe5c1d2279d697")
}
Nach dem Login kopieren

Immer wenn Sie versuchen, denselben Datensatz erneut einzufügen, erhalten Sie eine Fehlermeldung:

> db.avoidDuplicateEntriesDemo.insertOne({"UserName":"John"});
2019-03-19T18:03:08.465+0530 E QUERY [js] WriteError: E11000 duplicate key error collection: test.avoidDuplicateEntriesDemo index: UserName_1 dup key: { : "John" } :
WriteError({
   "index" : 0,
   "code" : 11000,
   "errmsg" : "E11000 duplicate key error collection: test.avoidDuplicateEntriesDemo index: UserName_1 dup key: { : \"John\" }",
   "op" : {
      "_id" : ObjectId("5c90e1844afe5c1d2279d698"),
      "UserName" : "John"
   }
})
WriteError@src/mongo/shell/bulk_api.js:461:48
Bulk/mergeBatchResults@src/mongo/shell/bulk_api.js:841:49
Bulk/executeBatch@src/mongo/shell/bulk_api.js:906:13
Bulk/this.execute@src/mongo/shell/bulk_api.js:1150:21
DBCollection.prototype.insertOne@src/mongo/shell/crud_api.js:252:9
@(shell):1:1
Nach dem Login kopieren

Fügen wir einen weiteren Datensatz ein. Die Abfrage lautet wie folgt:

> db.avoidDuplicateEntriesDemo.insertOne({"UserName":"Carol"});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c90e18d4afe5c1d2279d699")
}
Nach dem Login kopieren

Zeigen Sie alle Dokumente in der Sammlung mithilfe der Methode find() an. Die Abfrage lautet wie folgt:

> db.avoidDuplicateEntriesDemo.find();
Nach dem Login kopieren

Das Folgende ist die Ausgabe:

{ "_id" : ObjectId("5c90e1824afe5c1d2279d697"), "UserName" : "John" }
{ "_id" : ObjectId("5c90e18d4afe5c1d2279d699"), "UserName" : "Carol" }
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonDoppelte Einträge in MongoDB vermeiden?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!