0

私はmongoとpythonを使い始めたばかりで、このクエリを正しく実行することに固執しています:

#get a database
db = connection.test

#get a colleciton
family = db.family

#get all names that begin with E
namesWithE = family.find({'name' : 'E/^'})
print nameWithE.count()

このクエリに一致するレコードが 2 つあることはわかっていますが、カウントが 0 のままです

4

2 に答える 2

2
namesWithE = family.find({name : {$regex : 'E.*'}}) 

--> これは私にとってはうまくいきます

于 2012-04-12T18:35:02.510 に答える
0

これを直接行うこともできます

    namesWithE = family.find({'name' : /^E.*/})

Mongodb は、間に記述されている場合、引数を正規表現として受け取り、/このような式の後に大文字と小文字を区別しないなどのオプションを追加することもできます

   namesWithE = family.find({'name' : /^E.*/i})

この式は、名前フィールドがあり、その値がEまたはeで始まるコレクションからすべてのドキュメントを返します。

于 2013-12-22T10:14:09.070 に答える