在 Pymongo 中看到一些奇怪的行为$in
询问。查找满足以下查询的记录:
speciesCollection.find({"SPCOMNAME":{"$in":['paddlefish','lake sturgeon']}})
查询没有返回任何记录。
如果我将其更改为 find_one ,它会返回鲟鱼湖的最后一个值。该字段是一个包含一个值的文本。所以我正在寻找与白鲟或湖鲟相匹配的记录。
它在 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" }
我在这里错过了什么吗?
我认为您的程序中存在拼写错误或其他错误,因为我刚刚对您的示例数据和查询进行了测试,并且它有效 - 请参阅 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)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)