2

mongodb がシェルで結果を返すのに Python では返さないのはなぜですか?

シェル:

> db.posts.find({ Body: /html/ }).count()
5524

Python コード:

query = {"Body": '/html/'}
r = mo_db.posts.find(query)
print r.count()
> 0

他のすべてのクエリは正常に機能し、find() だけが正常に機能します。スラッシュを処理する別の方法はありますか?!
r'/html/' と u'/html/' もテストしました。

4

1 に答える 1

2

実際の正規表現オブジェクトではなく、値を文字列としてクエリしています。/.../ 構文は、正規表現を構築するための JavaScript 構文シュガーですが、Python ではモジュールでそれを行う必要がありreます。

これを試して:

import re
pattern = re.compile("html")
query = {"Body": pattern}
r = mo_db.posts.find(query)
print r.count()
于 2013-02-11T23:18:14.790 に答える