MongoDB 实操基础操作

# 根据时间排序

db.getCollection('test').find({}).sort({ date : -1 });

 # 导入导出数据

# 切换到mongo安装bin目录下
# 导出到指定的脚本
./mongoexport -h localhost:27017 -utest -p123456 -d test -c WP_GATHER -o /home/test.json  # 必须输入数据库的账号和密码
# 导入到指定的实例中         
./mongoimport -h localhost:27017 -d test -c test /home/test.json

 # MongoDB 基本用法

* 查看条数
    db.getCollection('test').find({}).count()
* 模糊查询
    db.getCollection('test').find({"path":{$regex:'/20190429/'}})
* 根据时间删除数据
    db.getCollection(´test´).remove({´time´:{$gte:´08:00:00´, $lt: ´09:15:00´}})
*  分页查询
    .skip(0).limit(100)  * skip 跳过的数据    *limit 获取的数据

# 修改文档
# 修改mongo中的数据 

db.collection.update({"name1":"val1"},{"$set": {"name2":"val2"}},false,true)
#如果没有后面两个参数,则只更新一行数据。
db.collection.update(
		   <query>,
		   <update>,
		   {
		     upsert: <boolean>,
		     multi: <boolean>,
		     writeConcern: <document>
		   }
		 )
#参数说明:
  query : update的查询条件,类似sql update查询内where后面的。
  update : update的对象和一些更新的操作符(如$,$inc...)等,也可以理解为sql update查询内set后面的
  upsert : 可选,这个参数的意思是,如果不存在update的记录,是否插入objNew,true为插入,默认是false,不插入。
  multi : 可选,mongodb 默认是false,只更新找到的第一条记录,如果这个参数为true,就把按条件查出来多条记录全部更新。
  writeConcern :可选,抛出异常的级别。

 # 创建索引

db.getCollection('').createIndex(keys,options);
# options 配置信息
     background    Boolean    建索引过程会阻塞其它数据库操作,background可指定以后台方式创建索引,即增加 "background" 可选参数。 "background" 默认值为false。
     unique    Boolean    建立的索引是否唯一。指定为true创建唯一索引。默认值为false.
     name    string    索引的名称。如果未指定,MongoDB的通过连接索引的字段名和排序顺序生成一个索引名称。
     dropDups    Boolean    3.0+版本已废弃。在建立唯一索引时是否删除重复记录,指定 true 创建唯一索引。默认值为 false.
     sparse    Boolean    对文档中不存在的字段数据不启用索引;这个参数需要特别注意,如果设置为true的话,在索引字段中不会查询出不包含对应字段的文档.。默认值为 false.
     expireAfterSeconds    integer    指定一个以秒为单位的数值,完成 TTL设定,设定集合的生存时间。
     v    index version    索引的版本号。默认的索引版本取决于mongod创建索引时运行的版本。
     weights    document    索引权重值,数值在 1 到 99,999 之间,表示该索引相对于其他索引字段的得分权重。
     default_language    string    对于文本索引,该参数决定了停用词及词干和词器的规则的列表。 默认为英语
     language_override    string    对于文本索引,该参数指定了包含在文档中的字段名,语言覆盖默认的language,默认值为 language.

 # 查看索引

db.col.getIndexes()

 # explain() 查看执行的语句顺序

db.getCollection('test').find({"type":{$in:['0','2']},"date":{$regex:"^2019-09-16.*$"}}).explain()

 # 删除索引

db.getCollection('test').dropIndex('test');

 # 查看索引文件

db.getCollection('test').getIndexes();
db.getCollection('test').getIndexSpecs()

 # 查看索引大小

db.getCollection('test').totalIndexSize()
db.currentOp()
db.killOp()

微笑的java

欢迎关注转发评论点赞沟通,让编码不在孤单。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

微笑的Java

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值