首页 > 解决方案 > 如何在 Mongo shell 中从特定文档的不同字段或集合中设置值

问题描述

我用文档收集“ttn_data”:

{
 "_id" : ObjectId("Some_different_ID"),
 "dev_id" : "e0e1e20102030405",
 "payload_fields" : {"temp_C" : 28.308}
}

并用 doc 收集“记录”

{
 "_id" : ObjectId("5ed8af72c377d5b209597981"),
 "temp_C_different" : ""
 
}

我想在 ttn_data 集合中从 temp_C 设置 temp_C_different 值,因此更新查询后的返回值为

{
 "_id" : ObjectId("5ed8af72c377d5b209597981"),
 "temp_C_different" : "28.308"
 
}

我试试这个方法:

try {    db.records.updateMany(       {  "_id" : ObjectId("5ed8af72c377d5b209597981") },   
                               { $set: { "temp_C_different" : db.ttn_data.temp_C.value } }    ); }
                               catch (e) {    print(e); }

但它将“temp_C_different”值设置为数据库中的一些元数据信息。进行这种更新的写入方式是什么?

标签: mongodbmongo-shell

解决方案


推荐阅读