【问题标题】:$ne doesn't work with pymongo$ne 不适用于 pymongo
【发布时间】:2014-01-05 03:49:18
【问题描述】:

我的$ne : "" 无法与 pymongo 一起正常工作。

hashtable['ACR-WEB-01']=db.logs.find({"host_name" : "WEB-01"}, {"service_description": {"$ne" : ""}}).distinct("service_description")
print hashtable['ACR-WEB-01']

打印的结果是:

[u'Disks', u'', u'Mem', u'VM Tools', u'Cpu', u'vm-alarm-CPU', u'vm-alarm-MEM', u'vm-alarm-VMTOOLS', u'Uptime']

如你所见,我得到u'' 为什么?

如果我直接在 mongodb 中执行,它可以工作:

> db.logs.distinct( "service_description" , { "host_name" : "WEB-01", service_description: {$ne : ""}} )
[
    "Cpu",
    "Disks",
    "Mem",
    "Uptime",
    "VM Tools",
    "vm-alarm-CPU",
    "vm-alarm-MEM",
    "vm-alarm-VMTOOLS"
]

感谢您的帮助

【问题讨论】:

    标签: python mongodb python-2.7 pymongo mongodb-query


    【解决方案1】:

    您需要将您的两个 find 查询词放入 same 哈希对象中:

    hashtable['ACR-WEB-01']=db.logs
        .find({"host_name": "WEB-01", "service_description": {"$ne" : ""}})
        .distinct("service_description")
    

    【讨论】:

      猜你喜欢
      • 2017-09-07
      • 1970-01-01
      • 1970-01-01
      • 2012-05-01
      • 2020-09-17
      • 1970-01-01
      • 1970-01-01
      • 2013-03-30
      • 1970-01-01
      相关资源
      最近更新 更多