首页 > 数据库 >Mongodb日常操作命令

Mongodb日常操作命令

时间:2025-01-06 17:13:31浏览次数:6  
标签:操作命令 name Mongodb field1 db collection 查询 日常 find

查看数据库状态:db.stats()
查看集合状态:db.collection_name.stats()
查看索引使用情况:db.collection_name.getIndexes()
重新生成集合的索引:db.collection_name.reIndex()
查看查询执行计划:db.collection_name.find({ ... }).explain()
查看库大小:db.stats();
查看集合大小:db.js_user.stats(); db.js_wx_setting_menu.storageSize(); db.js_html_alias.totalIndexSize();

集合操作:
创建集合:db.createCollection("collection_name")
查看所有集合:show collections
删除集合:db.collection_name.drop()

文档操作:
插入文档:db.collection_name.insertOne({field1: value1, field2: value2})
批量插入文档:db.collection_name.insertMany([{field1: value1, field2: value2}, {field1: value3, field2: value4}])
查询文档:db.collection_name.find({field1: value1})

查询操作:
简单查询:db.collection_name.find()
大于某个时间段:db.promotion_report.count({ dayTime: { $gt: '2022-06-24' } })
正则查询:db.inventory.find( { tags: "/^red/" } )
or查询:db.collection_name.find({$or:[{field1: value1, field2: value2}]})
and查询:db.collection_name.find({$and:[{field1: value1, field2: value2}]})
条件查询:db.collection_name.find({field1: value1, field2: value2})
查询指定字段:db.collection_name.find({field1: 1}, {"_id":0, "compayid": 1})  /// 不返回_id字段,返回compayid
查询数组:db.inventory.find( { tags: ["red", "blank"] } )
在数组中查询元素:db.inventory.find( { tags: "red" } )
查询同时包含元素和 的数组:db.inventory.find( { tags: { $all: ["red", "blank"] } } )
查询数组包含 3 个元素的文档:db.inventory.find( { "tags": { $size: 3 } } )
查询排序按字段:db.collection_name.find().sort({createTime: 1}).limit(1);
查询排序按_id:db.el_frequent_visitor.find().sort({ '_id': -1 }).limit(1);
查询排序按_id并分页:db.el_frequent_visitor.find().sort({ '_id': -1 }).skip(800).limit(10);
查询限制:db.collection_name.find().limit(10)
查询跳过:db.collection_name.find().skip(5)
查询数据为null:db.promotion_keyword.find({ "createTime": null }).limit(10);
查询数据时间为字符:db.promotion_keyword.find({ "createTime": { "$lt": "2022-06-24 00:00:00" } }).
查询数据时间为日期:db.promotion_keyword.count({ "createTime": { "$gt": ISODate("2024-06-24T00:33:50Z") } })
不为空:db.js_visitor.find({ group_id: { $ne: null } })
为空:db.js_visitor.find({ group_id:  null })

findOneAnd操作:
db.collection.findAndModify()
db.collection.findOneAndDelete()
db.collection.findOneAndReplace()
db.collection.findOneAndUpdate()           
   
更新操作:
更新文档:db.collection_name.updateOne({field1: value1}, {$set: {field2: new_value}})
更新多个文档:db.collection_name.updateMany({field1: value1}, {$set: {field2: new_value}})
替换与指定筛选器匹配的单个文档:db.collection.replaceOne()        

删除文档:
删除文档:db.collection_name.deleteOne({field1: value1});
删除多个文档:db.collection_name.deleteMany({field1: value1});
删除文档所有数据:db.collection.remove({});

索引操作:
创建索引:db.collection_name.createIndex({field1: 1, field2: -1}, {background: true})
查看索引:db.collection_name.getIndexes()
删除索引:db.collection_name.dropIndex({field1: 1, field2: -1}, {background: true})

 

 

 

标签:操作命令,name,Mongodb,field1,db,collection,查询,日常,find
From: https://www.cnblogs.com/jelly12345/p/18655731

相关文章

  • MongoDB的部署和操作
    注:本博文展示部署哥操作步骤和命令,具体报告及运行截图可通过上方免费资源绑定下载一.数据库的部署与配置1.单MongoDB服务器的部署(1)将服务器、客户端和工具安装包上传到hadoop1的/export/software目录(2)使用解压缩命令:·tar-xzf/export/software/mongodb-linux-x86_64-rhel......
  • 日常训练2025-1-5
    日常训练2025-1-5L.BridgeRenovationrating:1400https://codeforces.com/problemset/problem/2038/L思路(贪心)需要思考每种板子的组合方式,最好的组合方式是两个2号板子和1个1号板子,加起来只消耗一块板子。其次是三块1号板子加起来只消耗一块板子。然后就是两块任意板子......
  • MongoDB集群中数据分布与分片
    MongoDB集群中数据分布Chunk是什么在一个shardserver内部,MongoDB还是会把数据分为chunks,每个chunk代表这个shardserver内部一部分数据。chunk的产生,会有以下两个用途:Splitting:当一个chunk的大小超过配置中的chunksize时,MongoDB的后台进程会把这个chunk切分成更小的chunk,从......
  • Windows单机安装MongoDB分片集群
    Windows单机部署MongoDB分片集群规划和准备端口规划操作系统:WindowsServer2012MongoDB版本:4.2.25IP/节点名mongosconfigshard1shard2shard3127.0.0.1(mongo1)mongos1(27017)config1(27018)主(27001)主(27002)主(27003)127.0.0.1(mongo2)mongos2(27027)c......
  • OpenEuler安装MongoDB并配置访问密码.241127
    1.下载MongoDB、安装wgethttps://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel80-4.4.18.tgztarzxvfmongodb-linux-x86_64-rhel80-4.4.18.tgz移动到/home路径下mvmongodb-linux-x86_64-rhel80-4.4.18/homecd/homemvmongodb-linux-x86_64-rhel80-4.4.1......
  • 日常训练2025-1-3
    日常训练2025-1-3C.Saragarating:1400https://codeforces.com/problemset/problem/2045/C思路(Trick)题目说至少要将缩写拆分成2个非空子串,我们就思考一下分成两个的情况假设一个缩写由三部分组成,为:a+b+c则必须满足,a+b是S的前缀,c是T的后缀,且a是S的前缀,b+......
  • MongoDB或TOMCAT定时切割日志文件的脚本.250103
    MongoDB用过一段时间后,日志较大,需要定时进行日志切割。一、切割bash:splitlogmongo.sh#!/bin/bashlog_dir="/home/mongodb/logs"file_name="/home/mongodb/logs/mongodb.log"if[!-d$log_dir];thenmkdir-p$log_dirfiif[!-f$file_name];thentouch$file_name......
  • MongoDB备份脚本.241217
    #!/bin/bash#backupMongoDB#mongodump命令路径DUMP=/home/mongodb/bin/mongodump#临时备份目录OUT_DIR=/home/mongodb_bak/mongodb_bak_now#备份存放路径TAR_DIR=/home/mongodb_bak/mongodb_bak_list#获取当前系统时间DATE=`date+%Y_%m_%d`#数据库账号DB_USER=root#......
  • Redis,MongoDB,MySQL,ES之间的区别与适用场景
    Redis,MongoDB,MySQL,ES之间的区别与适用场景:redis是一种高性能键值存储数据库,基于内存操作,支持数据持久化,支持数据类型丰富(如:字符串,哈希,列表,集合,有序集合等),redis还提供了订阅/发布,事务,lua脚本,主从同步等功能,适用于访问频繁,数据量较小,对性能要求比较高的业务场景,如缓存,队列,计数......
  • 日常训练2025-1-2
    日常训练2025-1-2D.Digitalstringmaximizationrating:1300https://codeforces.com/contest/2050/problem/D思路:找trick+暴力根据题意,一个数值为i的数最多向左移动i步。而最大的数为9,也就是说对于一个位置x,他的值只可能来自于\([x,x+9]\)这个范围,更远的......