MongoDB: 將引用用作鍵並手工新增值?


如需手動新增值,請在 MongoDB 中使用 $push。讓我們建立一個包含文件的集合 -

> db.demo585.insert({
...    firstName: 'John',
...    lastName: 'Doe',
...    SubjectName:"MongoDB",
...    Marks: [59]
... });
WriteResult({ "nInserted" : 1 })
> db.demo585.insert({
...    firstName: 'Chris',
...    lastName: 'Brown',
...    SubjectName:"MySQL",
...    Marks: [79]
... });
WriteResult({ "nInserted" : 1 })

在集合中顯示所有文件,利用 find() 方法 -

> db.demo585.find();

這將生成以下輸出 -

{ "_id" : ObjectId("5e91fd80fd2d90c177b5bcc3"), "firstName" : "John", "lastName" : "Doe", "SubjectName" : "MongoDB", "Marks" : [ 59 ] }
{ "_id" : ObjectId("5e91fd81fd2d90c177b5bcc4"), "firstName" : "Chris", "lastName" : "Brown", "SubjectName" : "MySQL", "Marks" : [ 79 ] }

以下是將引用用作鍵並手動新增值所需的查詢 -

> db.demo585.update({
...    firstName: 'John',
...    lastName: 'Doe',
...    SubjectName:"MongoDB",
...    Marks: [59]
... },
... {
...    "$push": {
...       "Marks": {
...          "Value": 59,
...          "Times": 3
...       }
...    }
... }
... );
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

在集合中顯示所有文件,利用 find() 方法 -

> db.demo585.find();

這將生成以下輸出 -

{ "_id" : ObjectId("5e91fd80fd2d90c177b5bcc3"), "firstName" : "John", "lastName" : "Doe", "SubjectName" : "MongoDB", "Marks" :
   [ 59, { "Value" : 59, "Times" : 3 } 
] }
{ "_id" : ObjectId("5e91fd81fd2d90c177b5bcc4"), "firstName" : "Chris", "lastName" : "Brown", "SubjectName" : "MySQL", "Marks" : [ 79 ] }

更新於: 15-五月-2020

225 瀏覽

開啟你的 職業生涯

透過完成課程獲得認證

開始
廣告
© . All rights reserved.