从mongodb中删除重复的数组值 [英] removing duplicate array values from mongodb
本文介绍了从mongodb中删除重复的数组值的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在mongodb中,我有一个集合,其中数组具有重复项,例如
In mongodb I have collection where arrays has duplicate entries like
{
"_id": ObjectId("57cf3cdd5f20a3b0ba009777"),
"Chat": 6,
"string": [
"1348157031 Riyadh",
" 548275320 Mohammad Sumon",
" 1348157031 Riyadh",
" 548275320 Mohammad Sumon",
" 1348157031 Riyadh",
" 1348157031 Riyadh"
]
}
我需要删除重复的数组,并仅保留唯一的数组值,如下所示.
I need to remove duplicate arrays and keep only unique array values like below.
{
"_id": ObjectId("57cf3cdd5f20a3b0ba009777"),
"Chat": 6,
"string": [
"1348157031 Riyadh",
" 548275320 Mohammad Sumon",
]
}
什么是最好的方法
谢谢
推荐答案
db.getCollection('Test').aggregate([{$ unwind:'$ string'}, {$ group:{_id:'$ _ id',string:{$ addToSet:'$ string'},Chat:{$ first:'$ Chat'}}}]));
db.getCollection('Test').aggregate([{$unwind: '$string'}, {$group: {_id:'$_id',string: {$addToSet: '$string'}, Chat: {$first: '$Chat'}}}]);
O/P: 在这里,您会得到2个"1348157031利雅得",因为还有一个多余的空间将其定义为另一个实体.
O/P: here you are getting 2 "1348157031 Riyadh" because there is an extra space which defines itself as an different entity.
{
"_id" : ObjectId("57cf3cdd5f20a3b0ba009777"),
"string" : [
" 1348157031 Riyadh",
" 548275320 Mohammad Sumon",
"1348157031 Riyadh"
],
"Chat" : 6
}
这篇关于从mongodb中删除重复的数组值的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文