2

mongodb データベースにターミナルという名前のコレクションがあります。このコレクションには、値が部分的に文字列で部分的に整数であるマーチャントという名前のフィールドを持つドキュメントがあります。Python で次のコードを使用して、すべての値を文字列にキャストします。

for i in terminals.find():
    if "merchant" in i.keys():
        terminals.update_one({"_id": i["_id"]}, {"$set": {"merchant": str(i["merchant"])}})

次に、このコレクションに対してクエリを実行しようとすると、奇妙なことが起こります。これは機能します:

print(merchant_category.find_one({"merchant": 000000000194267}))

そして、これはしません:

print(merchant_category.find_one({"merchant": "000000000194267"}))

mongodb シェルでクエリを実行すると、逆のことが起こります。すべての値が文字列に格納されているため、整数を値として使用すると何も返されないということです。誰でも質問に答えることができますか: Python の問題は何ですか?どうすれば修正できますか?

4

0 に答える 0