在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",
]
}
最好的办法是什么
谢谢
最佳答案
db.getcollection('test').aggregate([{$unwind:'$string'},
{$组:{u id:'$id',字符串:{$addtoset:'$string'},聊天:{$first:'$chat'}}}]);
O/P:
这里你得到2“1348157031利雅得”,因为有一个额外的空间,它定义自己为一个不同的实体。
{
"_id" : ObjectId("57cf3cdd5f20a3b0ba009777"),
"string" : [
" 1348157031 Riyadh",
" 548275320 Mohammad Sumon",
"1348157031 Riyadh"
],
"Chat" : 6
}
关于arrays - 从mongodb中删除重复的数组值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/39399149/