mongodb 终端自己常用命令

mac连接mongo

我的mac启动路径
cd /opt/homebrew/opt/mongodb-community@4.4/bin
./mongo

启动mongod----带有配置文件
/usr/local/mongodb/bin/mongod -f /usr/local/mongodb/mongo.conf

正常关闭mongod服务----一定要带上dbpath路径,否则命令失效

./mongod -shutdown -dbpath=/usr/local/src/mongodb/data/db

强制关闭mongodb,(不推荐这么做,会导致数据丢失与损坏)

pkill mongod

数据库删除

选择数据库

use db_name
show tables ----查看所有的表格;

新增

db.stu.insert({name:'gj',gender:1})

查询

db.queues.find().pretty();
db.queues.find({id:'1666591604084'}).pretty();//查询单行;
db.queues.find({},{id:1,sxmc:1}) // 查询仅仅展示id sxmc 字段

时间范围查询

  • db.queues.find({"qpsj":{"$gt":ISODate("2022-08-08T00:00:00.303Z")}}).pretty();

逻辑运算符查询

var secs_befortime = dayjs().subtract(6100000000,'second').format();
var [err, vos] = await to(Queue.find({"$or":[{qpsj: {$gte: secs_befortime}},{hjsj: {$gte: secs_befortime}},{jssj: {$gte: secs_befortime}}] }).sort({hjsj: -1}).lean())     

更改

  • 更改单列
    db.queues.update({id:'1666591604085'},{\(set:{sxmc:'社保业务'}}) // 坑货啊,没有\)set的命令,会把没写的字段都连字段名称都删除了

  • 更改多列
    db.queues.update({},{$set:{pj:100}},{multi:true}); // 一定要加上multi:true 才会生效

删除

db.集合名.remove(条件,{justone:<boolean>}) #参数justOne默认false,删除多条
# 只删除匹配到的一条数据
db.stu.remove({gender:0},{justOne:true})

#删除所有
db.stu.remove({})
  • 按照时间来删除

求平均值

导入备份数据库

mongorestore -h 127.0.0.1:27017 -d xzsp --dir ~/Downloads/xzsp/xzsp

posted @ 2022-10-27 10:54  盘思动  阅读(285)  评论(0编辑  收藏  举报