首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用pymongo只从mongodb中找到特定的密钥

使用pymongo只从mongodb中找到特定的密钥
EN

Stack Overflow用户
提问于 2022-05-20 19:07:53
回答 1查看 63关注 0票数 0

我已经编写了这段代码,我只想检查一个名为Virtual_Machines的密钥。我有以下表格的数据。我只想检查一下是否有Virtual_Machines,那么就不要再上传数据了。

代码语言:javascript
复制
  {
          "Virtual_Machines": {
               "Debian": {
                    "VM_Name": "Debian",
                    "VM_Location": "eastus",
                    "VM_Disk_Name": "Debian_OsDisk_1_b890f5f5c42647549c881c0706b85201",
                    "VM_Publisher_Info": {
                         "publisher": "debian",
                         "offer": "debian-11",
                         "sku": "11-gen2",
                         "version": "latest"
                    },
                    "Vm_Disk_Type": "Standard_D2s_v3",
                    "VM_Encryption": null
               },
               "Ubuntu": {
                    "VM_Name": "Ubuntu",
                    "VM_Location": "eastus",
                    "VM_Disk_Name": "Ubuntu_disk1_0610e0fde49b481490ef0a069a03b460",
                    "VM_Publisher_Info": {
                         "publisher": "canonical",
                         "offer": "0001-com-ubuntu-server-focal",
                         "sku": "20_04-lts-gen2",
                         "version": "latest"
                    },
                    "Vm_Disk_Type": "Standard_D2s_v3",
                    "VM_Encryption": null
               }
          }
     },

我的代码是,但它以None的形式提供输出。

代码语言:javascript
复制
db = client['Audit']
vms = db['virtual_machine']
vm = json.dumps(vm)
vmachine = vms.find_one({"Virtual_Machine"},{'_id':0})    

print(vmachine)
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-05-22 08:05:17

find_one()中的第一个参数必须是dict。您正在获得错误,因为您正在传递{"Virtual_Machine"},python将其解释为set https://docs.python.org/3/library/stdtypes.html#set

如果要检查键是否存在,无论其值如何,请使用$exists运算符。https://www.mongodb.com/docs/manual/reference/operator/query/exists/

代码语言:javascript
复制
vms.find_one({'Virtual_Machines': {'$exists': True}}, {'_id':0})
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/72323776

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档