• mongodb基本操作


      h4>1、mongodb与mysql对比

      mysql mongodb

      db db

      tables collections集合

      row(行) document文档

      colum(列) field

      2、mongodb数据库数据表的基础操作

      本着存在就使用,不存在即创建的原则

      use db 使用数据库,

      db.dropDatabase() 删除数据库

      show dbs 查看当前多有的数据库

      show tables 查看数据表(collections)

      show collections 一样的查看当前数据表

      db.(数据表名).drop() 删除表

      db 查看当前使用的是哪一个数据库

      3、mongodb文档的增删改查

      以下info代表表(collections)

      1>增

      db.info.insert({'name':'huahua'}) (官方不推荐,既可以插入多条也可以只插入一条数据)

      db.info.insertOne({'name':'huahua'})

      db.info.insertMany([{'name':'huahua'}])

      2>删

      db.info.remove({条件})

      db.info.deleteOne({条件})

      db.info.deleteMany({条件})

      3>改

      db.info.update({条件},{$set:{name:18}})(同样官方推荐使用下面两种)

      db.info.updateOne({条件},{$set:{name:18}})

      db.info.updateMany({条件},{$set:{name:18}})

      4>查

      db.info.findOne({条件]})

      db.info.find({条件})

      db.info.find().pretty()格式化显示结果

      常用条件

      $lt #某个字段小于某个值 db.info.find({'age':{'$lt',20}}) ---->查询年龄小于20的所有结果

      $gt #大于,$gte #等于,$lte#等于,$eq #等于,$ne #不等于,用法与上面一样

      $in ##查询值在某一个范围内 db.info.find({'age';{'$in':[20,30]}}),查询年龄在20到30这个范围内的结果

      $nin ##不在某一个范围内

      $regex #正则匹配 db.info.find({'name';{'$regex':'^二*'}}) 查询名字以二开头的所有名字

      $exists #判断某个字段是否存在 db.info.find({'name';{'$exists',True}})

      $type #类型判断 db.info.find({"title" : {$type : 2}},#判断title是否为字符串

      详细类型对应查考如下连接

      https://www.runoob.com/mongodb/mongodb-operators-type.html

      $text #文本查询 db.info.find('$text':{'search':'huahua'}),查询文本类型字段中包含哈哈的文档

      $高级条件查询 db.info.find({'$where':'obj.age>18'}),查询年龄大于18的文档

      ({条件,条件} 表示两个或多个条件同时成立

      ({'$or':[{条件},{条件}]})表示至少一个成立

      {'hoppy':{'$all:[0,1,2,3]}}当hoppy的值为[0,1,2,3]的子集时,查询成功

      3、一些修改器无锡人流费用 http://www.xasgfk120.com/

      $修改器

      $set 设置或者添加值

      $unset 删除某一个字段

      db.info.update{{条件},'$unset':{'age':1}}

      $inc 引用增加

      db.info.update{{条件},'$inc':{'age':1}}

      array操作

      $push 在array中追加一个新的元素

      db.info.updateOne({条件,{'$push':{array:10}}})

      $pull 在array中删除一个元素

      db.info.updateOne({},{'$pull':{arry:10}})

      $pop 在array中,如果为-1 则从前往后删,如果为1则从后往前删

      db.info.updateOne({},{'$pop':{arry:1}})

      db.info.updateOne({},{'$pop':{arry:-1})

      修改里面array内值为5的值

      db.db.info.updateOne({array:5},{'$set':{'arry.$':1}})#必须给定索引位置,$为查找到的那一个元素

      object操作

      db.info.updateOne({name:'huahua'},{'$inc':{'map.weight':-1}})

      4、其他操作

      count()计算表内数据总数---db.info.count()

      limit() 查询几条数据---db.info.limit(5)

      skip() 跳过几条数据---db.info.skip(5)

      sort ()排序 ----db.info..sort({'age':1}) -- (按照年龄从小到大排序(1:代表升序)(-1:代表降序))

      limit+sort+skip

      db.info.limit(5).skip(5).sort()

      优先级最高的是sort

      其次为 skip

      最低是 limit

      5、创建索引,加快查询速度

      1、为什么要创建索引

      索引通常能够极大的提高查询的效率,如果没有索引,MongoDB在读取数据时必须扫描集合中的每个文件并选取那些符合查询条件的记录。

      这种扫描全集合的查询效率是非常低的,特别在处理大量的数据时,查询可以要花费几十秒甚至几分钟,这对网站的性能是非常致命的。

      索引是特殊的数据结构,索引存储在一个易于遍历读取的数据集合中,索引是对数据库表中一列或多列的值进行排序的一种结构

      2、创建索引

      db.collection.createIndex(keys, options) ##语法中 Key 值为你要创建的索引字段,1 为指定按升序创建索引,如果你想按降序来创建索引指定为 -1 即可

      db.info.createIndex({"title":1})

  • 相关阅读:
    matlab关闭文件
    matlab字符串比较
    matlab画直线
    已解决:TeamViewer使用的设备数量上限
    ubuntu安装teamviewer,缺少依赖处理
    木心的话
    SQL 语句中 where 条件后 写上1=1 是什么意思
    NetCore获取当前请求URL的方法
    NetCore3.1 日志组件 Nlog的使用
    Mysql并发时经典常见的死锁原因及解决方法
  • 原文地址:https://www.cnblogs.com/djw12333/p/11400004.html
Copyright © 2020-2023  润新知