MongoDB
 Computer >> コンピューター >  >> プログラミング >> MongoDB

カスタム_id値を使用してドキュメントが存在しない場合にドキュメントを挿入しながら、MongoDBでアップサートしますか?


これにはinsert()を使用する必要があります。カスタム_id値を挿入し、ドキュメントがカスタム_id値で既に存在する場合は常に、エラーが表示されます。

まず、ドキュメントを使用してコレクションを作成しましょう。この下で、同じドキュメントを再度追加しようとしましたが、エラーが発生しました

> db.customIdDemo.insert({"_id":1,"StudentName":"John"});
WriteResult({ "nInserted" : 1 })
> db.customIdDemo.insert({"_id":1,"StudentName":"Carol"});
WriteResult({
   "nInserted" : 0,
   "writeError" : {
      "code" : 11000,
      "errmsg" : "E11000 duplicate key error collection: admin.customIdDemo index: _id_ dup key: { : 1.0 }"
   }
})
> db.customIdDemo.insert({"_id":2,"StudentName":"Carol"});
WriteResult({ "nInserted" : 1 })
> db.customIdDemo.insert({"_id":2,"StudentName":"Carol"});
WriteResult({
   "nInserted" : 0,
   "writeError" : {
      "code" : 11000,
      "errmsg" : "E11000 duplicate key error collection: admin.customIdDemo index: _id_ dup key: { : 2.0 }"
   }
})
> db.customIdDemo.insert({"_id":3,"StudentName":"Chris"});
WriteResult({ "nInserted" : 1 })

以下は、find()メソッドを使用してコレクションからすべてのドキュメントを表示するためのクエリです

> db.customIdDemo.find().pretty();

これにより、次の出力が生成されます

{ "_id" : 1, "StudentName" : "John" }
{ "_id" : 2, "StudentName" : "Carol" }
{ "_id" : 3, "StudentName" : "Chris" }

  1. Javaを使用して複数のドキュメントをMongoDBコレクションに挿入するにはどうすればよいですか?

    insertMany()を使用して、MongoDBの既存のコレクションに複数のドキュメントを挿入できます。 メソッド。 構文 db.coll.insert(docArray) どこで、 db はデータベースです。 coll ドキュメントを挿入するコレクション(名前)です docArray 挿入するドキュメントの配列です。 例 > use myDatabase() switched to db myDatabase() > db.createCollection(sample) { "ok" : 1 } > d

  2. Javaを使用してMongoDBコレクションにドキュメントを挿入するにはどうすればよいですか?

    insert()を使用して、MongoDBの既存のコレクションにドキュメントを挿入できます。 メソッド。 構文 db.coll.insert(doc) どこで、 db はデータベースです。 coll ドキュメントを挿入するコレクション(名前)です ドキュメント 挿入するドキュメントです。 例 > use myDatabase() switched to db myDatabase() > db.createCollection(sample) { "ok" : 1 } > db.sample.insert({name