[英]Pymongo $in Query Not Working
$in
查詢中看到Pymongo $in
一些奇怪行為。 查找符合以下查詢的記錄:
speciesCollection.find({"SPCOMNAME":{"$in":['paddlefish','lake sturgeon']}})
查詢不返回任何記錄。
如果我將它更改為find_one,它將返回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" }
我在這里錯過了什么嗎?
我認為您的程序中存在拼寫錯誤或其他錯誤,因為我只是對您的示例數據和查詢進行了測試並且它有效 - 請參閱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)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.