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

MongoDBコレクションにレコードが存在しない場合は挿入しますか?


存在しない場合は、update()関数を使用してMongoDBにレコードを挿入できます。概念を理解するために、ドキュメントを使用してコレクションを作成しましょう。ドキュメントを使用してコレクションを作成するためのクエリは次のとおりです-

> db.insertIfNotExistsDemo.insertOne({"StudentName":"Mike","StudentAge":21});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c7eec7b559dd2396bcfbfc2")
}
> db.insertIfNotExistsDemo.insertOne({"StudentName":"Sam","StudentAge":22});
{
   "acknowledged" : true,
   "insertedId" : ObjectId("5c7eec97559dd2396bcfbfc3")
}

find()メソッドを使用して、コレクションのすべてのドキュメントを表示します。クエリは次のとおりです-

> db.insertIfNotExistsDemo.find().pretty();
The following is the output:
{
   "_id" : ObjectId("5c7eec7b559dd2396bcfbfc2"),
   "StudentName" : "Mike",
   "StudentAge" : 21
}
{
   "_id" : ObjectId("5c7eec97559dd2396bcfbfc3"),
   "StudentName" : "Sam",
   "StudentAge" : 22
}

レコードがまだ存在しない場合にレコードを挿入するためのクエリは次のとおりです-

> key = {"StudentName":"David"}
{ "StudentName" : "David" }
> value = {"StudentName":"David","StudentAge":26}
{ "StudentName" : "David", "StudentAge" : 26 }
> db.insertIfNotExistsDemo.update(key, value, upsert=true);

以下は出力です-

WriteResult({
   "nMatched" : 0,
   "nUpserted" : 1,
   "nModified" : 0,
   "_id" : ObjectId("5c7eecd4c743760e97af8261")
})

コレクションのすべてのドキュメントを確認しましょう。クエリは次のとおりです-

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

以下は出力です-

{
   "_id" : ObjectId("5c7eec7b559dd2396bcfbfc2"),
   "StudentName" : "Mike",
   "StudentAge" : 21
}
{
   "_id" : ObjectId("5c7eec97559dd2396bcfbfc3"),
   "StudentName" : "Sam",
   "StudentAge" : 22
}
{
   "_id" : ObjectId("5c7eecd4c743760e97af8261"),
   "StudentName" : "David",
   "StudentAge" : 26
}

サンプル出力を見ると、「StudentName」:「David」と「StudentAge」:26が正常に挿入されています。


  1. MySQLで値が存在しないテーブルから選択しますか?

    このために、NOT IN()-を使用できます mysql> create table DemoTable1991 (    StudentId int NOT NULL AUTO_INCREMENT PRIMARY KEY,    StudentName varchar(20) ); Query OK, 0 rows affected (0.61 sec) 挿入コマンド-を使用して、テーブルにいくつかのレコードを挿入します mysql> insert into DemoTable1991(StudentName) values('C

  2. C#にフォルダーが存在しない場合、フォルダーを作成するにはどうすればよいですか?

    ディレクトリを作成するには、最初にSystem.IO名前空間をC#にインポートする必要があります。名前空間は、ディレクトリを作成、コピー、移動、および削除するための静的メソッドにアクセスできるようにするライブラリです。 フォルダが存在しない場合、コンパイラは例外をスローするため、C#でファイル操作を行う前に、ディレクトリが存在するかどうかを常に確認することをお勧めします。 例 using System; using System.IO; namespace DemoApplication {    class Program {