在上一篇安装过程我们已经成功把MongoDB创建为Windows的启动命令,
在http://127.0.0.1:27017/也看到了成功启动的结果

那之后呢?
我们在命令行直接输入
mongo命令
显示了当前MongoDB的信息,当前连接的不是某一个数据库,而是我们的本地页面,那事不宜迟我们赶紧来使用吧
创建数据库
语法
use DATABASE_NAME
示例

要显示新创建的数据库,需要至少插入一个文档,空的数据库是不显示出来的。


删除数据库
语法
db.dropDatabase()
示例

插入文档
文档的数据结构和JSON基本一样。
所有存储在集合中的数据都是BSON格式。
BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON。
语法
db.COLLECTION_NAME.insert(document)
    db.collection.insertOne() New in version 3.2
    db.collection.insertMany() New in version 3.2
示例

pizza是集合名
当然我们也可以使用一个变量定义数据,再插入数据

document=数据
db.pizza.insert(document)
插入数据后,数据自带了ID,id定义看这里
更新
一般使用update()方法,但同时还有另外一个save()方法
要说到save()和insert()的区别了
若新增的数据中存在主键 ,insert() 会提示错误,而save() 则更改原来的内容为新内容。
如:
已存在数据:  {_id : 1, " name " : " n1 " },再次进行插入操作时,
insert({_id : 1, " name " : " n2 " })    会报主键重复的错误提示
save({ _id : 1, " name " : " n2 " })     会把 n1 修改为  n2  。
相同点:
若新增的数据中没有主键时,会增加一条记录。
已存在数据:  { _id : 1, " name " : " n1 " },再次进行插入操作时,
insert({ " name " : " n2 " })    插入的数据因为没有主键,所以会增加一条数据
save({  " name " : " n2 " })   增加一条数据。
db.collection.updateOne() New in version 3.2
db.collection.updateMany() New in version 3.2
db.collection.replaceOne() New in version 3.2

语法
db.collection.update(
   <query>,
   <update>,
   {
     upsert: <boolean>,
     multi: <boolean>,
     writeConcern: <document>
   }
)
第一个参数是查找条件,第二个参数是修改内容,第三个参数可选。
upsert:如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
multi : mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
writeConcern :抛出异常的级别。
示例

有关示例出现修改内容的
$set,这一类叫做修改器,详情参考这里如果不用$set会怎么样?

删除
语法
db.collection.remove(
   <query>,
   <justOne>
)
如果 MongoDB 是 2.6 版本以后的,语法格式如下:
db.collection.remove(
   <query>,
   {
     justOne: <boolean>,
     writeConcern: <document>
   }
)
参数说明:
query :(可选)删除的文档的条件。
justOne : (可选)如果设为 true 或 1,则只删除一个文档。
writeConcern :(可选)抛出异常的级别。
如果要删除全部数据则>db.col.remove({})
db.collection.deleteOne() New in version 3.2
db.collection.deleteMany() New in version 3.2
示例

查询
语法
db.collection.find(query, projection)
query :可选,使用查询操作符指定查询条件
projection :可选,使用投影操作符指定返回的键。查询时返回文档中所有键值, 只需省略该参数即可(默认省略)。
查询的进一步学习(排序、索引、投影等)
如果你需要以易读的方式来读取数据,可以使用 pretty() 方法,语法格式如下:
>db.col.find().pretty()
pretty() 方法以格式化的方式来显示所有文档。
可以传入多个键,等于常规SQL的AND
db.col.find({key1:value1, key2:value2})
一些可能用到的修改器:
$lt      <
$lte    <=
$gt     >
$gte   >=
$ne    !=
$or     OR
>db.col.find(
   {
      $or: [
         {key1: value1}, {key2:value2}
      ]
   }
).pretty()
示例
现在数据库test的集合pizza中有如下数据:

查找price<90的:
