用 MongoDB 替換陣列欄位值?
你可以使用定位運算子 $。讓我們首先透過文件建立一個集合 -
> db.replaceAnArrayFieldValueDemo.insertOne({"StudentTechnicalSubjects":["MySQL","SQL Server","PL/SQL"]});
{
"acknowledged" : true,
"insertedId" : ObjectId("5cea41e0ef71edecf6a1f68f")
}以下是透過 find() 方法顯示集合中所有文件的查詢 -
> db.replaceAnArrayFieldValueDemo.find().pretty();
這將產生如下輸出 -
{
"_id" : ObjectId("5cea41e0ef71edecf6a1f68f"),
"StudentTechnicalSubjects" : [
"MySQL",
"SQL Server",
"PL/SQL"
]
}以下是替換陣列欄位值時的查詢。此處,我們將用“MongoDB”替換“SQL Server” -
> db.replaceAnArrayFieldValueDemo.update(
{"StudentTechnicalSubjects":"SQL Server"},
{ $set: { 'StudentTechnicalSubjects.$': "MongoDB" }}
);
WriteResult({ "nMatched" : 0, "nUpserted" : 0, "nModified" : 0 })讓我們再次檢查文件 -
> db.replaceAnArrayFieldValueDemo.find().pretty();
這將產生如下輸出 -
{
"_id" : ObjectId("5cea41e0ef71edecf6a1f68f"),
"StudentTechnicalSubjects" : [
"MySQL",
"MongoDB",
"PL/SQL"
]
}
廣告
資料結構
網路
關係資料庫管理系統
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP