ICode9

精准搜索请尝试: 精确搜索
首页 > 其他分享> 文章详细

始终返回零个文档的Mongo查询

2019-11-09 01:58:48  阅读:11  来源: 互联网

标签:mongodb pymongo python



可以编写一个始终返回集合中所有元素的查询,以pymongo为例:

MongoClient()["database"]["collection"].find({})

但是,由于代码的结构,我很想能够构造一个相反的查询,该查询在所有情况下都必须返回零元素:

MongoClient()["database"]["collection"].find(null_query)

我如何定义null_query,这样才正确?

解决方法:

您可以要求任何字段都为空列表.对此使用_id字段似乎是合理的:

db.collection.find({_id: {$in: []}})

如果您想缩短查询时间,则无需使用_id字段
完全没有:

db.collection.find({_:{$in:[]}})

如果MongoDB版本> = 3.4,则选择:

可以说,还可以询问_id字段是否不存在,这是@ Marco13建议的:

db.collection.find({_id: {$exists: false}})

但是,这假定所有文档都具有_id字段,对于3.4之前的MongoDB版本(在其中可以使用db.createCollection(“ mycol”,{autoIndexID:false})创建集合的版本),此字段不一定是正确的,因此不会自动给出所有文档_id字段.



标签:mongodb,pymongo,python

专注分享技术,共同学习,共同进步。侵权联系[admin#icode9.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有