mongodb - 如何更新 mobgo db 中的集合
问题描述
我正在尝试使用 _id 5af5968e17abd4901f4ecfdb 更新集合值。
执行的查询:
db.genericcrosssell.config.update(
{_id: '5af5968e17abd4901f4ecfdb'},
{$set: {
"HOTEL_ISSUANCE_EMAIL:{"USE_QUOTATION":1,"CAR_RENTAL":0},
"HOTEL_MY_BOOKING":{"USE_QUOTATION":1,"CAR_RENTAL":0},
"HOTEL_PUSH_NOTIFICATION":{"USE_QUOTATION":0,"CAR_RENTAL":0},
"HOTEL_ISSUING_TRANSITION":{"USE_QUOTATION":0,"CAR_RENTAL":0},
"HOTEL_UPCOMING_TRIP":{"USE_QUOTATION":1,"CAR_RENTAL":0}
}}
)
获取输出为:
WriteResult({ "nMatched" : 0, "nUpserted" : 0, "nModified" : 0 })
在执行以下查询时,我得到了响应。
db.genericcrosssell.config.find().pretty()
输出:
{
"_id" : ObjectId("5af5968e17abd4901f4ecfdb"),
"FLIGHT_ISSUANCE_EMAIL" : {
"USE_QUOTATION" : 1
},
"HOTEL_ISSUANCE_EMAIL" : {
"USE_QUOTATION" : 1,
"CAR_RENTAL" : 100
}
}
此处仅引用 2 个值。
解决方案
您必须在传递值时传递 objectid:
尝试这个:
db.genericcrosssell.config.update({_id: ObjectId('5af5968e17abd4901f4ecfdb')}, {$set: {"HOTEL_ISSUANCE_EMAIL":{"USE_QUOTATION":1,"CAR_RENTAL":0},"HOTEL_MY_BOOKING":{"USE_QUOTATION":1,"CAR_RENTAL":0},"HOTEL_PUSH_NOTIFICATION":{"USE_QUOTATION":0,"CAR_RENTAL":0},"HOTEL_ISSUING_TRANSITION":{"USE_QUOTATION":0,"CAR_RENTAL":0},"HOTEL_UPCOMING_TRIP":{"USE_QUOTATION":1,"CAR_RENTAL":0}}})
推荐阅读
- javascript - Spring MVC中的Ajax POST FormData抛出异常
- c++ - 在内部类中使用私有变量
- regex - 正则表达式:在两个太长的字符串之间查找空间
- c# - 如何在单元格网格中显示不同的文本
- ruby-on-rails - ActiveRecord 产生双重消息
- python - Python|数据聚合| 多个 Excel 文件
- python - ValueError: X.shape[1] = 2 应该等于 13,训练时的特征数
- r - Pathview R:将已知转录本映射到代表 FoldChange 的 KEGG 通路图
- java - 通过前缀获取 application.properties 的子集
- github - 如何使用 webhook 更新网站