Mongodb极简实行

作者: 数据库信息  发布:2019-11-08

MongoDB 极简实践入门

1. 怎么用MongoDB?

历史观的微电脑应用大多选取关系型数据库来存款和储蓄数据,比如我们兴许纯熟的MySql, Sqlite等等,它的特色是数量以表格(table)的花样积存起来的。数据库由一张张排列整齐不乱的报表构成,就相像一个Excel表单同样,每一种表格会有若干列,例如二个学童音讯表,恐怕富含学号、姓名、性别、入学年份、高等学园统一招考成绩、籍贯等等。而表格的每一排,则是七个个上学的小孩子的求实消息。在铺子级应用和前互连网时期,关系型数据库大概是不二取舍。关系型数据库的特色是有齐整划意气风发的团伙,很便利对数据开展描述、插入、搜索。

想像有四个思想的互联网衣服公司吧,它的根本的数据只怕是积累在一张叫products的表单里,表单大概包蕴这几个列:商品编号(ID)、名称(Name)、厂家(brand)、主目录(cate)、子目录(sub-cat)、零贩卖价格(price)、是或不是降价(promotion)等等。要是有二个客商想要查找全部价格低于300元的正在巨惠的鞋子的号码和称号,则足以实践相仿于以下的SQL语句:

SELECT ID, name FROM products WHERE cate='shoes' AND price<300 and AND promotion=true;

SQL具备了刚劲了的吃水查询技艺,能满意多姿多彩的询问须求。而若是要对数据开展增加和删除,开支也是十分低的。这个是SQL的优势之风流倜傥, 但随着网络的兴起以致数据格局的八种化,老成持重的SQL表单在局地领域稳步显现出它的缺点。让我们由此一个事例来申明。考虑八个博客后台系统,即使大家用关系型数据库为每篇博客(article)建二个表单的话,这一个表单大约会包罗以下这几个列:

ID Title Description Author Content Likes
A_1 Title1 Political Article Joe Content 1 12
A_2 Title2 Humorous Story Sam Content 2 50

澳门金莎娱乐网站 ,当时候用SQL数据库来储存是老大便于的,但倘使大家要位每篇小说增添切磋功用,会意识每篇文章大概要多篇舆情,并且这一个数量是动态变化的,而且每篇研究还满含某个项内容:议论的人、争论的岁月、甚至商酌内容。那时候要将那个内容都塞进上述的不得了表,就展现很费劲。平常的做法是为评价(comment)单独建一个表:

ID Author Time Content Article
C_1 Anna 2014-12-26 08:23 Really good articles! A_1
C_2 David 2014-12-25 09:30 I like it! A_1

就像是地,每篇小说或者会有几多标签(tags)。标签自身又是一个表单:

ID Category Tags Content Article
T_1 Anna 2014-12-26 08:23 Really good articles! A_1
T_2 David 2014-12-25 09:30 I like it! A_2

而博客的表格则要由此foreign key跟那些相关联的表格联系起来(大概还包涵小编、出版社等此外表格)。那样一来,当我们做询问的时候,比方说,“寻觅商酌数不菲于3的标签为‘政治商量’的我为Sam的小说”,就能够涉及到复杂的跨表查询,供给多量接纳join话语。这种跨表查询不只有降低了询问速度,而且那些语句写起来也不简单。

那么,借使用MongoDB数据库来达成,能够什么计划数据模型呢?超粗略,像上边那样[1]:

 _id: POST_ID
   title: TITLE_OF_POST, 
   description: POST_DESCRIPTION,
   author: POST_BY,
   tags: [TAG1, TAG2, TAG3],
   likes: TOTAL_LIKES, 
   comments: [  
      {
         user:'COMMENT_BY',
         message: TEXT,
         dateCreated: DATE_TIME,
      },
      {
         user:'COMMENT_BY',
         message: TEXT,
         dateCreated: DATE_TIME,
      }
   ]

在MongoDB里,每篇博客小说以三个文书档案(document)的格局保存起来,而文书档案内部含有了不菲种类,举例title tags等,每二个档案的次序都以key-value的花样,即有一个类型的名字,比如title,以至它的值TITLE_OF_POST。而关键的是,多个key能够有多少个values,他们用[]括起来。

这种“宽松”的数量存款和储蓄格局特别灵活,MongoDB不限定各种key对应的values的数额。举个例子有的作品未有商酌,则它的值正是七个空集,完全未有毛病;有的作品评价非常多,也得以非常制地插入。更灵敏的是,MongoDB不供给同一个群集(collection,也就是SQL的table)里面包车型地铁例外document有相似的key,举例除了上述这种文书档案协会,有的文书档案所代表的稿子恐怕未有likes那一个连串,再举个例子部分文章大概有越来越多的类别,比方大概还也是有dislikes等等。这几个不一致的文书档案都得以灵活地蕴藏在同三个汇集下,何况查询起来也至极轻巧,因为都在三个文档里,不用实行种种跨文书档案查询。而这种MongoDB式的积攒也会有利了数量的掩护,对于大器晚成篇博客作品来讲,全部的连带数据都在这里个document里面,不用去思量多少个数量操作须要involve多少个表格。

自然,除了上述的帮助和益处,MongoDB还恐怕有过多其余优势,比如MongoDB的数量是用JSON(Javascript Object Notation)存款和储蓄的(正是地点的这种key-value的样式),而大约全数的web应用都以基于Javascript的。因而,存款和储蓄的数量和使用的数指标格式是中度意气风发致的,不需经过转换。越来越多的亮点能够查看:[2]。

2. 有关那篇作品

本条极简教程,或许说笔记,却非一个掩瞒MongoDB方方面面包车型地铁科目。所谓极简的野趣,正是只选拔这几个最重视、最常用的剧情开展基于实例的牵线,进而让读者能够在最短的时日内非常快上手,並且能布帆无恙地开展持续的吃水的求学。

具体地说,那些课程的天性是:

  • 不求周详,只求实用。只覆盖最基本的片段;
  • 以恢宏事例为导向;
  • 多只读文人机勃勃边入手操作的话,大概只要求2小时的年月;

读书那篇小说无需有特意的根基,但最棒通晓数据库的基本概念,假诺自个儿熟知SQL那就更加好啊。

3. 设置与情况

MongoDB能够在Windows、Linux、Mac OS X等主流平台运行,並且下载和安装极其轻巧,特别和气。那篇文书档案的例证选拔MongoDB 2.6本子,均在OS X测量试验过,有雄厚的说辞相信,在任何平台也能非常满意运营。

Windows的装置和设置能够参见:;

Linux的装置和装置能够参照他事他说加以调查:;

Mac OS X下的安装和装置:

    1. 在 下载切合您的Mac的MongoDb;
  • 2. 下载获得的公文是一个zip文件,解压,然后嵌入你想到的文本夹,比如/Users/Steven/MongoDB;
    1. 创设八个你喜欢的文书夹来积攒你的数量,比方/User/Steven/myData;
    1. 张开Terminal,cd到2里面特别文件夹/Users/Steven/MongoDB,再cd bin;
    1. 输入./mongod --dbpath /User/Steven/myData,等到出现就像是“waiting for connections on port 27017”,表明MongoDB服务器已架设好,而数据将积存在myData里面;
    1. 新开荒叁个Terminal, cd /Users/Steven/MongoDB/bin,然后运转./mongo;顺遂的话它将现出一个interactive shell令你实行各类操作,而你的多寡将积累在myData里

借使上述的逐个步骤都运转顺遂,就足以跳到下黄金年代节啦。

4. 成立集结和删除集结

在上风流罗曼蒂克节实践完步骤6后,你拜见到命令行里展现:connecting to: test,这里的test是私下认可的数据库。这里大家能够新建八个数据库。在指令行里打入:

use tutorial

诸有此类就新建了两个名字为tutorial的数据库。你可以实践

show databases

来呈现当前的数据库。可是那时候由于我们的新数据库是空的,所以会展现相符那样的:

admin  (empty)
local  0.078GB

小编们试着往我们的数据Curry加多一个会面(collection),MongoDB里的成团和SQL里面包车型大巴表格是周围的:

db.createCollection('author')

顺风的话会展现:

{ "ok" : 1 }

代表创制作而成功。

您可以再回头施行:

show databases

那儿大家的tutorial会集已经位列此中。你能够再实行

show collections

能够看来创制的集结author也在里面。

大家暂且没有必要author这个集合,所以我们得以由此奉行:

db.author.drop()

来将其除去。那时候你再实践show collections,就再也看不到我们的author了。

那风度翩翩节要记住的点主要唯有二个:集结(collection)相近于SQL的报表(table),相符于Excel的四个个报表。

5. 插入

想像五个精短版的“豆瓣电影”。我们必要创设七个数据库,来积攒每部电影的音信,电影的音信包涵:

  • 电影名字
  • 导演
  • 主角(恐怕多少个)
  • 类型标签(也许八个)
  • 播出日期
  • 喜欢人数
  • 不赏识人数
  • 客商评价(大概多少个)

引人注目大家供给先创设二个叫电影的会见:

db.createCollection('movie')

接下来,大家就能够插入数据了:

db.movie.insert(
 {
   title: 'Forrest Gump', 
   directed_by: 'Robert Zemeckis',
   stars: ['Tom Hanks', 'Robin Wright', 'Gary Sinise'],
   tags: ['drama', 'romance'],
   debut: new Date(1994,7,6,0,0),
   likes: 864367,
   dislikes: 30127,
   comments: [  
      {
         user:'user1',
         message: 'My first comment',
         dateCreated: new Date(2013,11,10,2,35),
         like: 0 
      },
      {
         user:'user2',
         message: 'My first comment too!',
         dateCreated: new Date(2013,11,11,6,20),
         like: 0 
      }
   ]
}
)

请小心,这里插入数据此前,大家并无需先申明movie这么些会集里面有哪些项目。大家直接插入就足以了~这或多或少和SQL比比较小器晚成致,SQL必须先声Bellamy(Bellamy卡塔 尔(阿拉伯语:قطر‎个table里面有怎样列,而MongoDB无需。

把地方的例子复制进命令行应该能够顺遂运作,但自身生硬提议你手动打一下,或然输入黄金时代部你和睦怜爱的电影。insert操作有几点要求专一:

    1. 不等key-value必要用逗号隔开分离,而key:value中间是用冒号;
  • 2. 万意气风发一个key有三个value,value要用[]。哪怕当前唯有八个value,也丰盛[]以备后续的丰裕;
    1. 整个“数据块”要用{}括起来;

假定您在insert随后看见WriteResult({ "nInserted" : 1 }),表明写入成功。

本条时候你能够用查询的点子来回到数据库中的数据:

db.movie.find().pretty()

这里find()内部是空的,表明大家不做限定和筛选,相像于SQL未有WHERE言语同样。而pretty()出口的是经格式美化后的多寡,你能够团结尝试未有pretty()会怎样。

留心察看find()的结果,你会发觉多了贰个叫'_id'的事物,那是数据库自动创立的二个ID号,在同二个数据Curry,各类文书档案的ID号都是例外的。

我们也足以同临时候输入多个数据:

db.movie.insert([
 {
   title: 'Fight Club', 
   directed_by: 'David Fincher',
   stars: ['Brad Pitt', 'Edward Norton', 'Helena Bonham Carter'],
   tags: 'drama',
   debut: new Date(1999,10,15,0,0),
   likes: 224360,
   dislikes: 40127,
   comments: [  
      {
         user:'user3',
         message: 'My first comment',
         dateCreated: new Date(2008,09,13,2,35),
         like: 0 
      },
      {
         user:'user2',
         message: 'My first comment too!',
         dateCreated: new Date(2003,10,11,6,20),
         like: 14 
      },
      {
         user:'user7',
         message: 'Good Movie!',
         dateCreated: new Date(2009,10,11,6,20),
         like: 2
      }
   ]
},
{
   title: 'Seven', 
   directed_by: 'David Fincher',
   stars: ['Morgan Freeman', 'Brad Pitt',  'Kevin Spacey'],
   tags: ['drama','mystery','thiller'],
   debut: new Date(1995,9,22,0,0),
   likes: 134370,
   dislikes: 1037,
   comments: [  
      {
         user:'user3',
         message: 'Love Kevin Spacey',
         dateCreated: new Date(2002,09,13,2,35),
         like: 0 
      },
      {
         user:'user2',
         message: 'Good works!',
         dateCreated: new Date(2013,10,21,6,20),
         like: 14 
      },
      {
         user:'user7',
         message: 'Good Movie!',
         dateCreated: new Date(2009,10,11,6,20),
         like: 2
      }
   ]
}
])

顺手的话会显示:

BulkWriteResult({
    "writeErrors" : [ ],
    "writeConcernErrors" : [ ],
    "nInserted" : 2,
    "nUpserted" : 0,
    "nMatched" : 0,
    "nModified" : 0,
    "nRemoved" : 0,
    "upserted" : [ ]

外表大家成功地插入了三个数据。注意批量插入的格式是那样的:db.movie.insert([{ITEM1},{ITEM2}])。几部影视的外侧须求用[]括起来。

请在意,纵然collection的插入无需先注解,但宣布雷同意思的key,名字要朝气蓬勃律,举例,纵然大家在一个文书档案里用directed_by来表示出品人,则在其它文书档案也要维持同等的名字(并不是director等等的)。分歧的名字不是不能,手艺上完全可行,但会给查询和换代带来困难。

好了,到这里,大家就有了一个叫tutorial的数据库,里面有一个叫movie的聚焦,而movie里面有四个记录。接下来大家就能够对其展开询问了。

6. 查询

在上豆蔻梢头节大家早就触发到最简易的查询db.movie.find().pretty()。MongoDB扶植各式各样的深度查询功效。先来一个最简易的例子,找寻David芬奇(DavidFincher)出品人的全部电影:

db.movie.find({'directed_by':'David Fincher'}).pretty()

将回来《搏击俱乐部》和《七宗罪》两部影片。这种搜索和SQL的WHERE言辞是相当近似的。

也得以设置七个规格。比方寻觅David芬奇制片人的, MorganFreeman主角的录制:

db.movie.find({'directed_by':'David Fincher', 'stars':'Morgan Freeman'}).pretty()

此处四个规范化之间,是AND的涉嫌,独有同期知足四个规格的电影才会被输出。同理,能够设置四个的准则,不赘述。

基准之间也得以是或的关系,比方寻找罗布inWhyet或MorganFreeman主角的影视:

db.movie.find(
{
  $or: 
     [  {'stars':'Robin Wright'}, 
        {'stars':'Morgan Freeman'}
     ]
}).pretty()

瞩目那之中稍显复杂的各类括号。

还足以设置一个约束的搜寻,比如寻觅50万人以上赞的影视:

db.movie.find({'likes':{$gt:500000}}).pretty()

如出生机勃勃辙要专一略复杂的括号。注意,在此些查询里,key的单引号都是可选的,也便是说,上述讲话也得以写成:

db.movie.find({likes:{$gt:500000}}).pretty()

就好像地,少于三十万人赞的电影:

db.movie.find({likes:{$lt:200000}}).pretty()

恍如的运算符还有:$let:小于或等于;$get:大于或等于;$ne:不等于。

瞩目,对于富含多少个值的key,相似能够用find来查询。举例:

db.movie.find({'tags':'romance'})

将回来《阿甘正传》,纵然其标签既有romance,又有drama,但假诺顺应三个就足以了。

倘若你方便地了然重返的结果唯有八个,也得以用findOne:

db.movie.findOne({'title':'Forrest Gump'})

万风姿浪漫有三个结实,则会按磁盘存款和储蓄顺序再次来到第八个。请留神,findOne()自带pretty情势,所以无法再加pretty(),将报错。

借使结果不菲而你只想体现个中部分,能够用limit()skip(),前面一个指明输出的个数,前面一个指明从第4个结实初始数。比如:

db.movie.find().limit(2).skip(1).pretty()

则跳过第风度翩翩部,从第二部初阶选用两部影视。

7. 有个别查询

第五节的时候我们讲了find的用法,但对于相符条件的条规,大家都以回到整个JSON文件的。那就好像于SQL里面包车型客车SELECT *。临时,大家须求的,仅仅是部分数量,此时,find的局地查询的职能就派上用项了。先来看叁个例子,重返tags为drama的影片的名字和首映日期。

db.movie.find({'tags':'drama'},{'debut':1,'title':1}).pretty()

数据库将再次来到:

{
    "_id" : ObjectId("549cfb42f685c085f1dd47d4"),
    "title" : "Forrest Gump",
    "debut" : ISODate("1994-08-05T16:00:00Z")
}
{
    "_id" : ObjectId("549cff96f685c085f1dd47d6"),
    "title" : "Fight Club",
    "debut" : ISODate("1999-11-14T16:00:00Z")
}
{
    "_id" : ObjectId("549cff96f685c085f1dd47d7"),
    "title" : "Seven",
    "debut" : ISODate("1995-10-21T16:00:00Z")
}

此间find的第2个参数是用来支配输出的,1意味着要回到,而0则意味不回去。暗中同意值是0,但_id是莫衷一是,因而后生可畏旦你不想出口_id,必要显式地宣称:

db.movie.find({'tags':'drama'},{'debut':1,'title':1,'_id':0}).pretty()

8. 更新

数不清景观下您须求更新您的数据库,比如有人对有些电影点了个赞,那么您要求更新相应的数据库。比如有人对《七宗罪》点了个赞,而它自然的赞的个数是134370,那么你须求更新到134371。能够如此操作:

db.movie.update({title:'Seven'}, {$set:{likes:134371}})

首先个大括号里证明要筛选的对象,第4个标识要转移的数量。请留意上述的操作特别不现实,因为您首先要精晓前边的数字是多少,然后加后生可畏,但家常便饭你不读取数据库的话,是不会明白这几个数(134370)的。MongoDB提供了后生可畏种方便人民群众的法子,能够对现存条目款项实行增量操作。要是又有人对《七宗罪》点了四个赞,则足以:

db.movie.update({title:'Seven'}, {$inc:{likes:2}})

假定你询问的话,会发觉点赞数变为134373了,这里用的是$inc。除了增量更新,MongoDB还提供了广大一挥而就的换代选项,具体能够看: 。

小心借使有多部切合必要的电影。则暗许只会更新第三个。如若要多个同期修改,要设置{multi:true},像上边那样:

db.movie.update({}, {$inc:{likes:10}},{multi:true})

全体电影的赞数都多了10.

专一,以上的换代操作会替换掉原来的值,所以借让你是想在原始的值得基本功上加码一个值的话,则应当用$push,比方,为《七宗罪》增多叁个popular的tags。

db.movie.update({'title':'Seven'}, {$push:{'tags':'popular'}})

您会发掘《七宗罪》今后有多少个标签:

    "tags" : [
        "drama",
        "mystery",
        "thiller",
        "popular"
    ],

9. 删除

删除的句法和find很平时,比如,要去除标签为romance的电影,则:

db.movie.remove({'tags':'romance'})

思索到我们数据库条约非凡稀少,就不提出您奉行这条命令了~

留意,上边的例证会删除全部标签包罗romance的影片。要是你只想删除第两个,则

db.movie.remove({'tags':'romance'},1)

倘使不加任何限定:

db.movie.remove()

会去除movie那么些群集下的享有文书档案。

10. 索引和排序

为文书档案中的一些key加上索引(index)能够加速搜索速度。那点轻便精晓,假使还没未有目录,大家要物色名称为Seven的录像,就必须要在有着文书档案里各个寻找。而生机勃勃旦对名字这些key加上索引值,则影片名这么些字符串和数字创立了炫耀,那样在物色的时候就能够快超级多。排序的时候也是那般,不赘述。MongoDB里面为有个别key加上索引的艺术比较轻松,例如我们要对编剧这一个key加索引,则能够:

db.movie.ensureIndex({directed_by:1})

这里的1是升序索引,假设要降序索引,用-1。

MongoDB支持对出口举行排序,比如按名字排序:

db.movie.find().sort({'title':1}).pretty()

同样地,1是升序,-1是降序。默认是1。

db.movie.getIndexes()

将赶回全数索引,蕴含其名字。

db.movie.dropIndex('index_name')

将去除相应的目录。

11. 聚合

MongoDB扶持相通于SQL里面包车型大巴GROUP BY操作。比方当有一张学生战表的明细表时,我们能够寻觅种种分数段的学员各有稍微。为了促成那么些操作,大家须求稍加退换大家的数据库。执行以下三条命令:

db.movie.update({title:'Seven'},{$set:{grade:1}})
db.movie.update({title:'Forrest Gump'},{$set:{grade:1}})
db.movie.update({title:'Fight Club'},{$set:{grade:2}})

这几条是给每部电影加一个假造的分别,前两部是归类是一流,后生机勃勃部是二级。

此处你也足以看来MongoDB的精锐之处:能够动态地一连加多种种新品类。

大家先经过聚合来寻找一同有二种级别。

db.movie.aggregate([{$group:{_id:'$grade'}}])

输出:

{ "_id" : 2 }
{ "_id" : 1 }

介意这里的2和1是指等级,实际不是各样等级的电影数。那个事例看得明白些:

db.movie.aggregate([{$group:{_id:'$directed_by'}}])

此地依据出品人名字进行联谊。输出:

{ "_id" : "David Fincher" }
{ "_id" : "Robert Zemeckis" }

任何时候大家要搜索,每一种制片人的影片数分别某些许:

db.movie.aggregate([{$group:{_id:'$directed_by',num_movie:{$sum:1}}}])

将会输出:

{ "_id" : "David Fincher", "num_movie" : 2 }
{ "_id" : "Robert Zemeckis", "num_movie" : 1 }

潜心$sum前边的1象征只是把电影数加起来,但我们也足以总结别的数据,举例两位监制什么人的赞非常多:

 db.movie.aggregate([{$group:{_id:'$directed_by',num_likes:{$sum:'$likes'}}}])

输出:

{ "_id" : "David Fincher", "num_likes" : 358753 }
{ "_id" : "Robert Zemeckis", "num_likes" : 864377 }

留心那么些数量都纯属伪造啊!

除了$sum,还大概有任何一些操作。比方:

db.movie.aggregate([{$group:{_id:'$directed_by',num_movie:{$avg:'$likes'}}}])

总结平均的赞。

db.movie.aggregate([{$group:{_id:'$directed_by',num_movie:{$first:'$likes'}}}]

回到每一个编剧的电影中的第大器晚成都部队的赞数。

其他各个操作能够参谋: 。

12. All or Nothing?

MongoDB辅助单个文书档案内的原子化操作(atomic operation),那是说,能够将多条有关同贰个文档的授命放到一同,他们只怕一同实践,要么都不实施。而不会实行到贰分一。有些场馆须要确定保证多条实行同步顺次实行。比如三个气象:一个电商网址,客户查询某种商品的多余数量,以致顾客购买该种商品,那三个操作,必得放在一块儿施行。不然的话,假定大家先进行剩余数量的查询,那是只要为1,顾客接着购买,但只要那四个操作之间还参加了别的操作,举个例子另多少个顾客超越购买了,那么原本购买顾客的购置的一言一动就能够造成数据库的荒诞,因为其实这种商品甚至未有存货了。但因为查询剩余数量和进货不是在四个“原子化操作”之内,由此会产生这么的失实[2]。

MongoDB提供了findAndModify的艺术来确定保证atomic operation。举个例子这样的:

db.movie.findAndModify(
            {
            query:{'title':'Forrest Gump'},
            update:{$inc:{likes:10}}
            }
              )

query是搜索出十二分的文书档案,和find是生龙活虎律的,而update则是更新likes这一个类型。注意由于MongoDB只支持单个文书档案的atomic operation,因而假若query出多于三个文书档案,则只会对第三个文书档案实行操作。

findAndModify还扶植更加多的操作,具体见:。

13. 文书找寻

除却前方介绍的各类深度查询作用,MongoDB还扶植文件寻觅。对文件寻觅在此以前,我们须求先对要探求的key营造一个text索引。假定我们要对标题实行理文件本搜索,我们得以先这么:

db.movie.ensureIndex({title:'text'})

继之大家就足以对标题实行理文件本寻觅了,举例,查找带有"Gump"的标题:

db.movie.find({$text:{$search:"Gump"}}).pretty()

注意text和search前面的$符号。

以那一件事例里,文本寻找效果不是卓殊分明。但如果我们要物色的key是贰个漫漫文书档案,这种text search的方便性就显现出来了。MongoDB近些日子帮助15种语言的文本寻觅。

14. 正则表明式

MongoDB还协助基刘和平则表达式的查询。倘使不明了正则表达式是怎么着,能够参照他事他说加以考查Wikipedia。这里大约举多少个例子。举例,查找标题以b末尾的录像消息:

db.movie.find({title:{$regex:'.*b$'}}).pretty()

也得以写成:

db.movie.find({title:/.*b$/}).pretty()

搜索含有'Fight'题指标电影:

db.movie.find({title:/Fight/}).pretty()

留意上述相称都以分别朗朗上口写的,倘诺您要让其不区分轻重缓急写,则足以:

db.movie.find({title:{$regex:'fight.*b',$options:'$i'}}).pretty()

$i是insensitive的情致。那样的话,固然是小写的fight,也能搜到了。

15. 后记

时至明天,MongoDB的最基本的内容就介绍得大概了。就算有啥脱漏的之后笔者会补上來。若是你一只见底完全了那么些入门教程,恭喜您,你料定是二个有意志的人。

把那个文书档案过三回,不会令你成为一个MongoDB的行家(借使会这就太不敢相信 不能够相信了)。但假诺它能或多或少收缩你上手的时刻,大概让您开采到“咦,MongoDB其实没那么复杂”,那么那么些课程的目的也就完毕啦。

以此文档是迫不比待写就的,出错差不离是肯定的。假如您开掘了此外错误或然有关于本文的别的提议,麻烦发邮件给笔者(stevenslxie at gmail.com卡塔 尔(英语:State of Qatar)可能在GitHub上直接沟通,不胜多谢。

转发注脚

要是您赏识那篇文章,能够自由转发。但请

  • 申明原来的书文者StevenSLXie;
  • 标明原链接();
  • MongoDB的API链接()
  • 在大概的情景下请保持文本呈现的华美。比方,请不要一向少年老成键复制到博客之类,因为代码的来得效果兴许那么些不好;
  • 请将那些转发证明饱含进来;

本文由金沙澳门官网发布于数据库信息,转载请注明出处:Mongodb极简实行

关键词: 金沙澳门官网

上一篇:4分片集群系列之三
下一篇:没有了