天天看点

MongoDB的基本使用

use library 使用use函数切换已有的数据库或创建新的数据库

show dbs 查看MongoDB中目前所有可用的数据库

show collections 查看当前数据库中的所有集合

在集合中插入数据

>document = ({"Type":"Book","Title":"Definitive Guide to MongoDB 2nd ed.,The","ISBN":"978-1-4302-5821-6","Author":["How,David","Plugge,Eelco","Membrey,Peter","Hawkins,Tim"]})

>db.media.insert(document)

//或者直接insert
>db.media.insert({"Type":"CD","Artist":"Nirvana","Title":"Nevermind"}]      

函数find()从同一集合的多个文档中获取数据

>db.media.find()
//获取特定类型的文档
>db.media.find({Artist:"Nivrvana"})
//加入参数{Title:1}只返回标题字段中的信息
>db.media.find({Artist:"Nirvana"},{Title:1})
      

函数limit和skip分别表示可以限制返回结果的最大条数和忽略掉集合中的钱N个文档

//或者使用findOne()      
>db.media.find().limit(10)

>db.media.find().skip(20)      

 函数sort()对查询返回的结果进行排序

>db.media.find().sort({Title:1})
      

固定集合:大小固定,一旦固定集合达到设置的大小,最老的数据将被删除,最新的数据将被添加到末端,保证自然顺序和文档插入的顺序一致。

>db.createCollection("audit",{capped:true,size:20480})
//假定希望找到固定集合中最近的10条记录
>db.audit.find().sort({ $natural:-1}).limit(10)
//也可使用max参数限制增加到固定集合中的文档数量
>db.createCollection("audit100",{capped:true,size:20480,max:100})
//validate()函数检查集合的大小
>db.audit100.validate()      

使用count()函数返回文档的数目

>db.media.count()
>db.media.find({Publisher:"Apress",Type:"Book"}).count()
      

使用$gt、$lt、$gte和$lte 在查询中执行大于和小于

//大于
db.media.find({Released:{$gt:2000)},{"Cast":0})
其他同理
      

指定一个匹配的数组,类似于sql中的in

>db.media.find({Reased:($in:[1999,2008,2009]}},{"Cast":0})
      

匹配文档中的所有属性,类似于$in,不过要求文档的所有属性都匹配

>db.media.find({Release:{$in:["2010","2009"}},{"Cast":0})
      

删除文档

>db.newname.remove({"Title":"Different Title"})
//删除所有的文档
>db.newname.remove({})
      

启动禁用MongoDB分析器

$mongo
>use blog
>db.setProfilingLevel(1)

//禁用
$mongo
>use blog
>db.setProfilingLevel(0)