zoukankan      html  css  js  c++  java
  • mongodb 笔记

    1、每次启动需要配置启动文件
      mongod --dbpath G:datadb
      执行完上面命令再打开一个新的窗口执行 mongo
      也可通过后台参数启动mongo:
      ./mongod -dbpath /data/mongo/ -logpath /data/mongo/mongo.log -logappend -fork -port 27017
     
     
    2、show dbs #查看所有数据库
      use mydb #使用mydb数据库,没有当前数据库则创建
      show collections #查看该数据库下所有的表
     
    3、MongoDB中的查询
      db.col.find() #查看col集合下所有的document(document相当于mysql中的row)
      db.col.find().pretty() #以格式化的方式来显示所有文档
      db.col.find({"by":"菜鸟教程"}) #条件查询相当于sql中 where by = '菜鸟教程'
      db.col.find({"likes":{$lt:50}}) # where likes < 50
      db.col.find({"likes":{$lte:50}}) #where likes <= 50
      db.col.find({"likes":{$gt:50}}) # where likes > 50
      db.col.find({"likes":{$gte:50}}) #where likes >= 50
      db.col.find({"likes":{$ne:50}}) #where likes != 50
      db.col.find({"by":"菜鸟教程", "title":"MongoDB 教程"}) #WHERE by='菜鸟教程' AND title='MongoDB 教程'
      db.col.find({$or:[{"by":"菜鸟教程"},{"title": "MongoDB 教程"}]}) #WHERE by='菜鸟教程' OR title='MongoDB 教程'
      db.col.find({"likes": {$gt:50}, $or: [{"by": "菜鸟教程"},{"title": "MongoDB 教程"}]}) #where likes>50 AND (by = '菜鸟教程' OR title = 'MongoDB 教程')
     
    4、MongoDB中的删除
      db.col.remove({'title':'MongoDB 教程'}) #移除 title 为 'MongoDB 教程' 的文档
      db.col.remove({}) #删除col中的数据
     
    5、两种MongoDB中的插入
      db.col.insert({title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库', by: '菜鸟教程', url: 'http://www.runoob.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 })
     
      document=({title: 'MongoDB 教程', description: 'MongoDB 是一个 Nosql 数据库', by: '菜鸟教程', url: 'http://www.runoob.com', tags: ['mongodb', 'database', 'NoSQL'], likes: 100 });
      db.col.insert(document)
     
    6、MongoDB中的更新
      db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}}) #通过 update() 方法来更新标题(title)
     
      #save() 方法通过传入的文档来替换已有文档
      db.col.save({     "_id" : ObjectId("56064f89ade2f21f36b03136"), "title" : "MongoDB", "description" : "MongoDB 是一个 Nosql 数据库", "by" : "Runoob", "url" : "http://www.runoob.com", "tags" : [ "mongodb", "NoSQL" ], "likes" : 110 }) #替换了 _id 为 56064f89ade2f21f36b03136 的文档数据
     
    7、MongoDB中的排序
      使用sort()方法对数据进行排序,sort()方法可以通过参数指定排序的字段,其中 1 为升序排列,而-1是用于降序排列
      db.col.find({},{"title":1,_id:0}).sort({"likes":-1}) #col 集合中的数据按字段 likes 的降序排列
     
    8、MongoDB中的索引
      db.col.ensureIndex({"title":1}) #为title字段建立索引,1为升序,2为降序
      db.col.ensureIndex({"title":1,"description":-1}) #使用多个字段创建索引(关系型数据库中称作复合索引)
     
    9、MongoDB中的聚合(aggregate)
      主要用于处理数据(诸如统计平均值,求和等),并返回计算后的数据结果。有点类似sql语句中的 count(*)
      db.mycol.aggregate([{$group : {_id : "$by_user", num_tutorial : {$sum : 1}}}])  #集合计算每个作者所写的文章数,$sum计算总和,类似于select by_user as _id, count(*) as num_tutorial from mycol group by by_user
  • 相关阅读:
    01:oracle sql developer配置
    删除eclipse或者MyEclipse的workspace记录
    c++特殊函数
    java类和对象的基础(笔记)
    java打印日历
    10_9 java笔记
    程序流程
    学习疑惑……
    位运算和逻辑运算
    多种类型的指针
  • 原文地址:https://www.cnblogs.com/jeavy/p/11349931.html
Copyright © 2011-2022 走看看