gpt4 book ai didi

mongodb - 如何更新 MongoDB 中的特定数组元素

转载 作者:行者123 更新时间:2023-12-04 13:50:14 25 4
gpt4 key购买 nike

我是 MongoDB 的新手。我以以下格式将数据存储在 mongoDB 中

"_id" : ObjectId("51d5725c7be2c20819ac8a22"),
"chrom" : "chr22",
"pos" : 17060409,
"information" : [

{
"name" : "Category",
"value" : "3"
},
{
"name" : "INDEL",
"value" : "INDEL"
},
{
"name" : "DP",
"value" : "31"
},
{
"name" : "FORMAT",
"value" : "GT:PL:GQ"
},

{
"name" : "PV4",
"value" : "1,0.21,0.00096,1"
}
],
"sampleID" : "Job1373964150558382243283"

我想将值更新为 11,其名称为 Category .
我试过下面的查询:
db.VariantEntries.update({$and:[ { "pos" : 117199533} , { "sampleID" : "Job1373964150558382243283"},{"information.name":"Category"}]},{$set:{'information.value':'11'}})

但是 Mongo 回复了
can't append to array using string field name [value]

如何形成一个将更新特定值的查询?

最佳答案

您可以使用 $ 位置运算符来标识与更新中的查询匹配的第一个数组元素,如下所示:

db.VariantEntries.update({
"pos": 17060409,
"sampleID": "Job1373964150558382243283",
"information.name":"Category"
},{
$set:{'information.$.value':'11'}
})

关于mongodb - 如何更新 MongoDB 中的特定数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17678327/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com