使用聚合的 MongoDB 查詢來替換值?
使用聚合框架和 $literal 運算子。我們首先使用文件建立一個集合 -
> db.replaceValueDemo.insertOne(
{
_id : 100,
"EmployeeName" :"Chris",
"EmployeeOtherDetails": {
"EmployeeDesignation" : "HR",
"EmployeeAge":27
}
}
);
{ "acknowledged" : true, "insertedId" : 100 }
> db.replaceValueDemo.insertOne(
{
_id : 101,
"EmployeeName" :"David",
"EmployeeOtherDetails": {
"EmployeeDesignation" : "Tester",
"EmployeeAge":26
}
}
);
{ "acknowledged" : true, "insertedId" : 101 }以下是使用 find() 方法顯示集合中所有文件的查詢 -
> db.replaceValueDemo.find().pretty();
這將產生以下輸出 -
{
"_id" : 100,
"EmployeeName" : "Chris",
"EmployeeOtherDetails" : {
"EmployeeDesignation" : "HR",
"EmployeeAge" : 27
}
}
{
"_id" : 101,
"EmployeeName" : "David",
"EmployeeOtherDetails" : {
"EmployeeDesignation" : "Tester",
"EmployeeAge" : 26
}
}以下是替換值的方法 -
> db.replaceValueDemo.aggregate([{
"$project": {
"_id": 1,
"EmployeeOtherDetails": {
EmployeeAge: 1,
EmployeeDesignation : { $literal: "Developer" }
}
}
}]);這將產生以下輸出 -
{ "_id" : 100, "EmployeeOtherDetails" : { "EmployeeAge" : 27, "EmployeeDesignation" : "Developer" } }
{ "_id" : 101, "EmployeeOtherDetails" : { "EmployeeAge" : 26, "EmployeeDesignation" : "Developer" } }
廣告
資料結構
網路
RDBMS
作業系統
Java
iOS
HTML
CSS
Android
Python
C 程式設計
C++
C#
MongoDB
MySQL
Javascript
PHP