有沒有辦法通過像 db.insert_one 這樣的聚合來添加值
x = db.aggregate([{
"$addFields": {
"chat_id": -10013345566,
}
}])
我試過了,但這段代碼什么都不回傳,值也沒有更新
我想通過聚合添加值,因為聚合比其他方法快
示例檔案:
{"_id": 123 , "chat_id" : 125}
{"_id": 234, "chat_id" : 1325}
{"_id": 1323 , "chat_id" : 335}
預期輸出:
mongodb 聚合中 db.insert_one() 的替代方法
uj5u.com熱心網友回復:
您必須使用$mergestage 將聚合的輸出保存到集合中。
注意:使用
$mergestage時要非常小心,因為您可能會意外替換集合中的整個檔案。在使用它之前,請閱讀此階段的完整檔案。
db.collection.aggregate([
{
"$match": {
"_id": 123
}
},
{
"$addFields": {
"chat_id": -10013345566,
}
},
{
"$merge": {
"into": "collection", // <- Collection Name
"on": "_id", // <- Merge operation match key
"whenMatched": "merge" // <- Operation to perform when matched
}
},
])
Mongo Playground 示例執行
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/374683.html
上一篇:如何保護MongoDB?我被黑了
