簡體   English   中英

Pymongo $在查詢中不起作用

[英]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)

GIF

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM