python - Pymongo:如何在 MongoDB 中查询现有和非空字符串字段?
解决方案
使用{'$nin': [None, '']}
:
col.insert({})
col.insert({'test_field': None})
col.insert({'test_field': ''})
col.insert({'test_field': 'value'})
list(col.find({'test_field': {'$exists': True}}))
[{u'_id': ObjectId('5b293fa7b5b55217c9afe7d0'), u'test_field': None},
{u'_id': ObjectId('5b293fb1b5b55217c9afe7d2'), u'test_field': u''},
{u'_id': ObjectId('5b293fb6b5b55217c9afe7d3'), u'test_field': u'value'}]
list(col.find({'test_field': {'$ne': None}}))
[{u'_id': ObjectId('5b293fb1b5b55217c9afe7d2'), u'test_field': u''},
{u'_id': ObjectId('5b293fb6b5b55217c9afe7d3'), u'test_field': u'value'}]
list(col.find({'test_field': {'$nin': [None, '']}}))
[{u'_id': ObjectId('5b293fb6b5b55217c9afe7d3'), u'test_field': u'value'}]
推荐阅读
- c++ - 正确使用 Win32 设备上下文
- javascript - Jquery 字符串替换 €
- python - 在不使用内置方法的情况下,有没有办法在处理多个线程时锁定和解锁?
- c++ - 流插入运算符 << 为架构 x86_64 重载未定义符号错误
- php - Laravel 8 未定义的变量帖子
- javascript - 视频缓冲是如何工作的,一般架构是什么样的?
- javascript - 如何在 Webpack 代码缩小条件下记录类/方法/函数名称?
- date - 飞镖中日期时间的差异
- java - 将 json 构造成 Map
- angular - Angular 10 Tabs Component ERROR TypeError:无法读取未定义的属性“nativeElement”