mongoDB 使用学习笔记

  1、安装mongoDB

  下载安装mongoDB,并且在所安装的直接根目录下,新建一个文件夹,data/db

  假设安装在e盘,进入mongoDB的安装/bin目录下,打开命令

    mongod --dbpath e:\data

2、打开mongo.exe执行命令

  (1)查看数据库: use.dbs

  (2)创建数据库: use mydb

     PS:刚创建的数据库,使用命令行查看数据库的时候是看不到新建的数据库的,如果要显示他,那就需要向我们新创建的数据库添加数据。MongoDB 中默认的数据库为 test,如果你没有创建新的数据库,集合将存放在 test 数据库中

  (3)删除数据库:

       首先,切换到要删除的数据库里面:use mydb

     然后,db.dropDatabase()

  (4)插入数据: db.mydb.insert({'username': 'admin','password': 123})

  (5)查看数据:

    <1>查看所有数据: db.mydb.find() 或者是 db.mydb.find().pretty() 

      这两者的差别是显示格式的区别

    <2>根据条件查看数据(end条件): db.mydb.find({'username':'admin'}) 【条件可以多个】

      

     <3>$or条件

       db.mydb.find($or:{'username':'admin'})

    <4>db.mydb.find({},{'username':1,_id:0})

      第一个 {} 放 where 条件,为空表示返回集合中所有文档。

      第二个 {} 指定那些列显示和不显示 (0表示不显示 1表示显示)。

  (6)更新数据:

    <1>只更新找到的第一条

      db.mydb.update({'username':'admin'},{$set:{'username':'peoson1'}})

    <2>更新找到的所有

      db.mydb.update({'username':'admin'},{$set:{'username':'peoson1'}},{multi:true})

      或者

      db.mydb.update({'username':'admin'},{$set:{'username':'peoson1'}},false,true)

    <3>根据条件查找,更新

      

    (7)删除数据:

      <1>删除找到的记录

         db.mydb.remove({'username':'pserson1'})

      <2>只删除找到的第一条记录

         db.mydb.remove({'username':'pserson1'},1)

      <3>删除所有数据

         db.mydb.remove({})

    (8)$type操作符

      

      使用:

        db.mydb.find({'usernmae':{$type:2}})

    (9)限制读取的记录条数:limit(num)方法

    (10)跳过指定数量的数据,skip(num) ,默认num=0

       db.mydb.find().skip(10).limit(12): 跳过前10条,返回12条数据,skip和limit结合就能实现分页

    (11)排序:sort()

       db.mydb.find().sort({KEY:1}),其中,KEY设置为1为升序,设置成-1为降序,默认为1即升序

    (12)索引:ensureIndex()

       db.mydb.ensureIndex({KEY:1, ...}),其中,KEY设置为1为升序索引,设置成-1为降序索引,默认为1即升序

       并且通过在创建索引时加background:true 的选项,让创建工作在后台执行

          db.values.ensureIndex({KEY:1, ...}, {background: true})

    (13)聚合: aggregate()

       <1>db.mydb.aggregate([{$group: {_id: ‘$username’, num: {$sum: 1}}}])

        上面这条查询的是字段username字段对数据进行分组,并计算username字段相同值的总和。

        

        表达式:

          $sum(总和)、$avg(平均值)、$min(最小值)、$max(最大值)、$push(在结果文档中,插入只到一个数组中)、$addToSet(在结果文档中插入值到一个数组中,但不创建副本)、$first(根据资源文档的排序获取第一个文档数据)、$last(根据资源文档的排序获取最后一个文档数据)

       <2>管道: 

      • $project:修改输入文档的结构。可以用来重命名、增加或删除域,也可以用于创建计算结果以及嵌套文档。
      • $match:用于过滤数据,只输出符合条件的文档。$match使用MongoDB的标准查询操作。
      • $limit:用来限制MongoDB聚合管道返回的文档数。
      • $skip:在聚合管道中跳过指定数量的文档,并返回余下的文档。
      • $unwind:将文档中的某一个数组类型字段拆分成多条,每条包含数组中的一个值。
      • $group:将集合中的文档分组,可用于统计结果。
      • $sort:将输入文档排序后输出。
      • $geoNear:输出接近某一地理位置的有序文档。

    (14)node.js和mongodb

       <1>在app.js中设置

        

       <2>查询

          

 

       

 

        

      

posted @ 2017-05-16 14:41  逆光飞翔23  阅读(118)  评论(0编辑  收藏  举报