MongoDB 集合中沒有的記錄怎麼插入?


如果 MongoDB 集合中沒有該記錄,你可以用 update() 函式來插入記錄。為了理解這個概念,我們用文件來建立一個集合。建立一個帶文件的集合的查詢如下所示 -

> 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 已經成功插入。

更新於: 30-Jul-2019

2K+ 次瀏覽

開啟你的 職業 生涯

完成課程後獲得認證

開始
廣告