MongoDb数组中的唯一值

时间:2018-04-17 13:54:32

标签: arrays mongodb

我正在尝试使用过滤器从monogdb ObjectId数组中找到唯一的ObjectIds。出于某种原因,我没有获得独特的阵列。是否有其他方法可以获得独特的阵列?

var objIds = [  5ad3509fbb426a4f4a382754, 
                5ad3509fbb426a4f4a382752, 
                5ad3509fbb426a4f4a382754, 
                5ad3509fbb426a4f4a382751
             ]

以下是过滤器代码

objIds = objIds.filter((x, i, a) => a.indexOf(x) == i)

我期待过滤后的数组

[  5ad3509fbb426a4f4a382754, 
   5ad3509fbb426a4f4a382752, 
   5ad3509fbb426a4f4a382751
]

2 个答案:

答案 0 :(得分:0)

如果你传入一个数组,并且数组中的元素是一个字符串,那么这应该工作。

if a < b:
    c = 1
else:
    print b
    c = 2

答案 1 :(得分:0)

您可以使用lodash's uniq方法轻松完成此操作。

const { uniq } = require("lodash");
var objIds = [
    "5ad3509fbb426a4f4a382754",
    "5ad3509fbb426a4f4a382752",
    "5ad3509fbb426a4f4a382754",
    "5ad3509fbb426a4f4a382751"
];

console.log(uniq(objIds));

将提供以下输出

[ '5ad3509fbb426a4f4a382754',
  '5ad3509fbb426a4f4a382752',
  '5ad3509fbb426a4f4a382751' ]