にNumberLongの長さを決定します私はいくつかはNumberLong値が含まれている、私のMongoDBのコレクション内の一部の文書を持っているのPython
{ "_id" : ObjectId("57e4d18df4733211b613f199"), "parentid" : "P1000016", "phone" : NumberLong("9819733299") }
{ "_id" : ObjectId("57e4d18df4733211b613f19a"), "parentid" : "P1000014", "phone" : "24306574|9920599404||9920840077|865" }
{ "_id" : ObjectId("57e4d18df4733211b613f19b"), "parentid" : "P1000017", "phone" : "25821154|25821188|" }
私はPythonのコードにインポートするとスプリットを使用して各番号を抽出しています(もしI電話機に複数の番号セットがあるかどうかなど)、リストに直接追加することができます。
しかし、私は長さだから私はこれを使用してみました6.
以上である私のリスト内のみの数字たい:
#Initializing MongoDB client
client = MongoClient()
#Connection
db = client.mumbai
collection = db.mumbaiLive
for post in collection.find():
shops.append(post)
for shop in shops:
phones = shop["phone"].split("|")
for eachPhone in phones:
if (len(eachPhone) < 6):
pass
それはNumberLong値を検出するまでそれが正常に動作します。 は私が
print "len = ", len(eachPhone)
を実行すると、私は
len =
を取得し、私も最初の文字列に変換しようとしましたが、同じ結果を得ました。
必要なもの:長さチェックやその他の方法(値がNumberLongかどうかを判断するなど)を使用してNumberLong値を 'pass'ingします。
[link](http://stackoverflow.com/questions/23490798/pymongo-find-if-value-has-a-datatype-of-numberlong) – Jeril
こんにちは@Jeril。私はそのリンクをチェックしましたが、適切な結論に達することができませんでした。 – Anubhav
文書の構造を変更し、 'phone'フィールドを配列にする必要があります – styvane