在 mongodb 中,我有一个集合,其中数组具有重复的条目,例如
{
"_id": ObjectId("57cf3cdd5f20a3b0ba009777"),
"Chat": 6,
"string": [
"1348157031 Riyadh",
" 548275320 Mohammad Sumon",
" 1348157031 Riyadh",
" 548275320 Mohammad Sumon",
" 1348157031 Riyadh",
" 1348157031 Riyadh"
]
}
我需要删除重复的数组并仅保留唯一的数组值,如下所示。
{
"_id": ObjectId("57cf3cdd5f20a3b0ba009777"),
"Chat": 6,
"string": [
"1348157031 Riyadh",
" 548275320 Mohammad Sumon",
]
}
最好的方法是什么
thanks
db.getCollection('Test').aggregate([{
$unwind: '$string'},
{
$group: {
_id: '$_id',
string: {
$addToSet: '$string'
},
Chat: {
$first: '$Chat'
}
}
}
]);
输出:
这里你得到 2“1348157031 Riyadh”,因为有一个额外的空间将自己定义为不同的实体。
{
"_id" : ObjectId("57cf3cdd5f20a3b0ba009777"),
"string" : [
" 1348157031 Riyadh",
" 548275320 Mohammad Sumon",
"1348157031 Riyadh"
],
"Chat" : 6
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)