【发布时间】:2018-06-15 16:04:36
【问题描述】:
假设我有一个包含 10000 个文档的集合,如下所示:
{"_id": 1, "name": "aaa"}
{"_id": 1, "name": "bbb"}
{"_id": 2, "name": "ccc"}
...
现在前端用户提交一个包含 100 个名称的数组,如下所示:
myArray = ["name1", "name2", "name3", "name4", ... "name100"]
他想知道这 100 个名称中的哪些尚未在数据库中,因此我需要返回一个新数组,其中包含这 100 个名称减去可以在我的集合中找到的名称。我该怎么做?
我在 Node (npm mongodb) 中使用官方的 MongoDB 驱动程序。
我目前所做的是首先通过执行 db.collection.find({name: {$in: myArray}}) 查找数据库中的名称,然后通过 javascript 排除结果。但我想有更好的方法吗?
谢谢!
【问题讨论】:
标签: mongodb