更新mongodb中所有文档中的数组项

时间:2017-12-11 11:53:14

标签: mongodb mongoose

我有这样的集合:

/* 1 */
{
"_id" : ObjectId("5a2e645e146ca85717059965"),
"number" : [ 
    1, 
    2, 
    3, 
    4, 
    5, 
    6
]
}

 /* 2 */
{
"_id" : ObjectId("5a2e647f146ca85717059973"),
"number" : [ 
    5, 
    4, 
    3
]
 }

  /* 3 */
 {
  "_id" : ObjectId("5a2e6491146ca85717059977"),
  "number" : [ 
    4, 
    5, 
    6, 
    7, 
    8, 
    9, 
    1, 
    1, 
    1
]
}

现在我想将所有1更改为a表示将1替换为1,所以我写了这个查询:

db.getCollection('mtest1').update({},{"$set":{"number.$[i]":"a"}},{arrayFilters:[{i:1}]})

但是我收到了这个错误:

cannot use the part (number of number.$[i]) to traverse the element ({number: [ 1, 2, 3, 4, 5, 6 ]})

我搜索SF并找到一些解决方案,但没有一个主题适用于我

0 个答案:

没有答案