第一个mongodb项目,所以这可能是显而易见的,但我的googlefu是不够的,或者我走错路了
我在mongodb有一个收藏。每个文档都有一个唯一的id
字段。在我的程序中,我最终得到了这些id的列表,如果mongodb中没有相应文档的副本,我想对api进行一个缓慢而昂贵的调用
显然,我不想在没有必要的情况下拨打昂贵的电话,因此解决方案似乎是我需要检索完整的列表并进行比较:
ids = [45, 23, 45, 88, 34, 28] # Except many more
items = db.items.find({'id': {'$in': ids}}, {'id':1})
missingIds = compareFx(ids, items)
for missingId in missingIds:
doc = expensiveCall(missingId)
db.items.insert_one(doc)
这要求我在查找不存在的文档时,对所有现有的/匹配的文档进行完全检索。有一个$exists
操作符,但它似乎只对字段而不是文档进行操作,但也许我不知道如何使用它
是否有某种运算符/运算符组合来获取找不到的ID,或者这是正确/最好的方法
目前没有回答
相关问题 更多 >
编程相关推荐