日期:2014-05-16  浏览次数:20350 次

mongodb学习(四)

mongodb的基本操作已经研究的差不多了,现在来看一下mongodb的正则表达式

举个例子,我们查询所有名里以“ma"或者”to”开始并且姓里以“se"或者"de"开始的人。

db.user.find({"first":/(ma|to)*/i,"last":/(se|de)/i})


结果是这样的,其中*和高级语言里面的正则表达式的*是一个,表示匹配所有字符,\i表示不区分大小写

再举个例子,我们来查一下

db.user.find( { "first" : /(jam?e*)*/i, "gender" : "f", "occupation" : "actor", "nationality" : "american"  } )


其结果是这样的

{ "_id" : ObjectId("5258bebb99d1aed485c85b05"), "first" : "jamie lee", "last" : "curtis", "dob" : "22/11/1958", "gender" : "f", "hair_colour" : "brown", "occupation" : "actor", "nationality" : "american", "age" : "27" }



其实这个mongodb的shell是一个javascript的编译器,我们可以在其中直接编写javascript来按我们的需求来检索我们需要的数据。

比如我们写一个函数

var test=function(){
     emit( { gender: this.gender }, { count: 1 } );
}