const toDel = db.users.find().sort({createdAt:-1}).skip(150).map(doc=>dock._id)
获取数据里安装时间倒序排列之后第150个之后的数据(数组)db.users.deleteMany({_id:{$in:toDel}})
批量删除mongodump --db mydb --out /backup
: 备份数据库;mongorestore --db mydb /backup/mydb
: 恢复数据库使用docker下载mongod最快捷。
docker --version
,如果显示版本号,说明安装成功。docker pull mongo
。如果卡住不动,可能是网络链接问题,可尝试更换镜像源。1 | { |
docker images
docker run -d --name mongodb -p 27017:27017 mongo
。localhost:27017
出现:’It looks like you are trying to access MongoDB over HTTP on the native driver port.’。说明启动成功docker exec -it mongodb mongosh
docker stop mongodb
停止 或 docker rm mongodb
来删除镜像执行docker exec -it mongodb mongosh
进入到mongodb shell中可以直接操作数据库
show dbs
: 查看所有数据库use mydb
: 切换或创建数据库,如果数据库不存在,MongoDB会在第一次插入数据的时候自动创建它db
: 查看当前数据库db dropDatabase()
: 删除数据库show collections
:查看该数据库下所有集合db.createCollection('users')
: 创建集合;db.users.drop()
,删除该集合db.users.insertOne({name:'Alice',age:25})
: 插入数据;db.users.insertMany([{name:'Alice',age:25},{name:'Bob',age:26}])
:插入批量数据db.users.find()
: 查看所有数据; db.users.findOne()
: 查看一条数据,db.users.countDocuments()
:获取数据个数db.users.find({query},{projection})
: 进行条件查询$投影查询db.users.updateOne({ name: "Alice" }, { $set: { age: 26 } })
: 更新数据npm install mongoose
1 | mongoose |
1 | const mongoose = require('mongoose'); |
1 | const buildTask = require('../model/build-task'); |