在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/

10-10 00:41