我有三个文件的以下集合:
{
_id: 1
items: ['1a', '1b', '1c']
},
{
_id: 2,
items: ['2a', '2b', '2c']
},
{
_id: 3,
items: []
}
我有一个查询必须从它们对应的'1a','1c','2a','2b'元素移动 文档到_id:3的文档。
我需要得到以下结果:
{
_id: 1
items: ['1b']
},
{
_id: 2,
items: ['2c']
},
{
_id: 3,
items: ['1a','1c', '2a', '2b']
}
请帮帮我。什么是解决我的问题的更好的解决方案?
答案 0 :(得分:0)
我认为移动操作没有任何特定的操作符。但是,我认为您可以使用$ push或$ addToSet运算符进行此添加操作,如下所示,然后从1& 2份文件。
db.testcollection.update({_id:3}, {$addToSet:{ ... }})
答案 1 :(得分:0)
首先,您需要解释为什么要这样做。因为你想做的只是这个操作符而不添加其他操作,我想知道最简单的方法就是这样:
答案 2 :(得分:-1)
使用带有$ set操作的update()
db.test1.update({_id:1},{$set:{items:['1b']}})
这将更新您的数组。
谢谢,