查询中的Pymongo$不工作

2024-05-14 01:26:34 发布

您现在位置:Python中文网/ 问答频道 /正文

在Pymongo$in查询中看到一些奇怪的行为。查找满足以下查询的记录:

speciesCollection.find({"SPCOMNAME":{"$in":['paddlefish','lake sturgeon']}})

查询不返回任何记录。

如果我把它改成找到一个,它就可以返回湖鲟的最后一个值。该字段是一个带有一个vaule的文本文件。所以我正在寻找与白鲟或湖鲟相匹配的记录。

它在Mongo Shell中的工作原理如下:

speciesCollection.find({SPCOMNAME:{$in: ['paddlefish','lake strugeon']}},{_id:0})

这是shell的结果

{ "SPECIES_ID" : 1, "SPECIES_AB" : "LKS", "SPCOMNAME" : "lake sturgeon", "SP_SCINAME" : "Acipenser fulvescens
{ "SPECIES_ID" : 101, "SPECIES_AB" : "PAH", "SPCOMNAME" : "paddlefish", "SP_SCINAME" : "Polyodon spathula" }

我是不是丢了什么东西?


Tags: inidab记录findspspeciespymongo
1条回答
网友
1楼 · 发布于 2024-05-14 01:26:34

我想你的程序中有一个输入错误或者其他错误,就像我刚刚对你的样本数据和查询做了一个测试,结果很好-请看GIF

下面是我的测试代码,它连接到名为so的数据库和集合speciesCollection,也许您会在其中发现错误

import pymongo

client = pymongo.MongoClient('dockerhostlinux1', 30000)
db = client.so
coll = db.speciesCollection

result = coll.find({"SPCOMNAME":{"$in":['paddlefish','lake sturgeon']}})
for doc in result:
    print(doc)

GIF

相关问题 更多 >