从mongodb中删除重复的数组值 [英] removing duplicate array values from mongodb

查看:178
本文介绍了从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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆