mongdb与redis二:mongodb操作

一、mongoDB数据库操作

1.创建数据库:use 数据库名

  如果数据库不存在,则创建数据库并切换到此数据库;否则切换到指定的数据库。

2.查看所有数据库:show dbs

  如果刚创建的数据库不在列表内,想要显示它,需要向刚创建的数据库中插入一些数据。

  向当前数据库插入一个集合和文档:db.student.insert({"name": "jerry", "age": 15})。

  当此数据库有任何集合或文档的时侯,才可以显示在数据库列表中。

3.查看当前正在使用的数据库:db或者db.getName()

4.退出数据库:exit

5.查看命令api帮助: help

6.删除数据库:先切换到数据库,再db.dropDatabase

 

二、集合操作

1.查看当前数据的所有集合: show collections

2.创建集合:

  a.语法:db.createCollection("集合名")

  b.语法:db.集合名.insert(文档)

3.删除集合:先切换到数据库,再db.集合名.drop()

 

三、文档操作

1.插入文档:

  a.使用insert()方法插入文档

    插入一个文档,语法:db.集合名.insert(文档)

      db.student.insert({"name": "jerry", "age": 15})

    插入多个文档:,语法:db.集合名.insert([文档1,文档2....])

      db.student.insert([{"name": "jason", "age": 18}, {"name": "andy", "age": 35}])

  b.使用save()方法插入文档:它既可插入,也可修改文档。

    语法:  db.student.save(文档)

    说明:如果不指定_id字段,save方法和insert方法一样,插入一条数据。

      如果指定_id字段,则会更新_id字段的数据

    示例,插入:db.student.save({"name": "jerry", "age": 15})

    示例,修改:db.student.insert({"_id": ObjectId(ID的值 ), "name": "jerry", "age": 15})

2.更新文档:

  a.update()方法,用于更新已存在的文档

    语法:db.集合名.update(

    query,

    update,

     { upset: <boolen>,multi :<boolean>,writeConcern:<文档>}

)

    参数说明:

      query:update的查询条件,类似于sql里update的where条件

      update:update的对象和一些更新的操作符($set,$inc等)。$set直接更新,$inc在原值的基础上累加

      upset:可选参数。如果不存在update的记录,是否作为新文档插入。true为插入;false为不插入,默认为false

      multi:可选参数。默认为flase。为false,只更新找到的第一条记录;为true,所有记录都更新

      writeConcern:可先参数。抛出异常的级别。

    示例:将jerry的年龄更新为25

      db.student.update({"name":"jerry"}, {$set: {"age":35}})

      注意:如果update未设置任何参数,则将替换原文档

      示例:db.student.update({"name":"jerry"},  {"age":35})

      结果:是将原文档更新为{"age":35},其它字段将被删除

    示例:将jerry的年龄加25

      db.student.update({"name": "jerry"}, {$inc: {"age":25}})

    示例:有两条jason的记录,将第一记录的年龄更新为30

      db.student.update({"name":"jason"}, {$set: {"age": 30}})

    示例:有两条jason的记录,将所有记录的年龄更新为30

      db.student.update({"name":"jason"},  {$set: {"age": 30}}, {"multi": true})

  b.save()方法,通过传入的文档替换已有的文档

    语法:  db.集合名.save(

      文档,

      {"writeConcern": 文档,是否抛出异常}

)

3.文档删除:

  说明:在执行remove()删除之前,先执行find()判断执行的条件是否存在

  语法:db.集合名.remove(

    query,

    {

      justOne:布尔值,

      writeConcern: 文档,是否抛出异常 

}

)

  参数说明:

    query:可先参数,删除文档的条件

    justOne:可选参数。如果为true或1,则只删除一个文档;如果为false或-1,则删除所有文档

    writeConcern:可选参数,抛出异常的级别。

  示例:删除名字为jerry的文档

    先切换到当前数据库

    db.students.remove({"name":"jerry"})

  示例:删除所有名字为jason的文档

    db.students.remove({"name":"jerry"},{"justOne":false})

4.文档查询:  

a.  find()方法: db.集合名.find(

  query,

  {key1:1,

  key2:1,}

)

如果find()没有条件,则查询集合的所有文档 

示例:查询所有男性的学生的姓名和年龄

db.student.find({"sec": 1},{"name":1, "age": 1})

find()方法的pretty()方法:以格式化的方式来显示

  db.student.find({"sex": 1},{"name":"age": 1}).pretty()

 

b. findOne()方法:查询匹配结果的第一条数据

  示例:db.student.findOne({"sex": 1})

 

posted on 2018-08-13 01:01  myworldworld  阅读(113)  评论(0)    收藏  举报

导航