2012-04-12 19 views
0

我剛剛開始接觸蒙戈和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() 

我知道有兩個記錄,這將匹配這個查詢,但我不斷收到一個0

回答

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

計數 - >這對我的作品

+0

我已經試過了,沒有LUC k以及。 – PruitIgoe 2012-04-12 18:39:19

+0

編輯了我的答案。 – asenovm 2012-04-12 18:51:27

+0

工作!我必須稍微改變它,family.find({name:{'$ regex':'E. *'}})(請參閱$ regex附近的引號,但除此之外它工作正常) – PruitIgoe 2012-04-13 12:42:29

0

您還可以通過

做到這一點直接

MongoDB中取參數爲正則表達式如果寫成/之間,你也可以像這樣

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

表達之後添加喜歡不區分大小寫選擇現在這個表達式將返回所有從收集有名稱的文件現場和他們的價值開始與任éË