初识mongodb

118 阅读1分钟

下载mongoose依赖包

npm i mongoose -S

1,连接数据库

//1 连接数据库,数据库服务要开启才能连接成功
const mongoose = require('mongoose');
//'mongodb://localhost/库名称';
mongoose.connect('mongodb://127.0.0.1/2020');
const db = mongoose.connection;
// 测试是否连接成功
db.on('error',()=>console.log('连接失败'));
db.on('open',()=>console.log('连接成功'));

2,创建数据表

const userSchema = mongoose.Schema({
    username:String,
    passworld:String,
    createTime:Number
})
// ooo为表名 userSchema数据表格式
var usermodel = mongoose.model('ooo',userSchema);

3,操作数据

返回一个promise对象,可以使用then方法接收执行结果

// ooo为表名 userSchema数据表格式
var usermodel = mongoose.model('ooo',userSchema);

// 添加数据
usermodel.insertMany({username:"jerry",passworld:"789456",createTime:Date.now()}).then(dosc=>console.log(dosc)).catch(err=>console.log(err));

// 删除数据
usermodel.deleteMany({username:"jerry"}).then(dosc=>console.log(dosc)).catch(err=>console.log(err));

// 修改数据
usermodel.updateMany({username:"jerry"},{$set:{passworld:"123456"}}).then(dosc=>console.log(dosc)).catch(err=>console.log(err));

// 查找数据
usermodel.find({username:"jerry"}).then(dosc=>console.log(dosc)).catch(err=>console.log(err));

mongodb命令

1、帮助命令
help
db.help()
2、数据库操作命令
show dbs //查看所有数据库
use dbname  //切换数据库,如果数据库不存在,就创建数据库
db / db.getName()  //查看当前数据库名称
db.stats()  //显示当前DB的状态
db.version()  查看当前DB的版本
db.getMongo()  查看当前DB的连接的主机地址
db.dropDatabase()  删除当前DB
3、创建数据库和集合
use project  //不存在就创建,存在就切换至
db.createCollection('user')  // 创建user集合
show collections / db.getCollectionNames()
db.getCollection('music')  获取指定集合
db.printCollectionStats()  打印指定集合的状态
4、集合中的文档操作
db.user.insertOne({})  //向集合中插入文档,如果insert插入的内容主键和以存在相同,报错
db.user.insertMany([{},{}])
db.user.save({}) //向集合中插入文档,如果insert插入的内容主键和以存在相同,变成更新

db.user.updateOne({"name":"yyy"}, {$set:{"age":100}})
db.user.updateMany({},{$set:{}})

db.user.deleteOne({"name":"jiaming"});//删除一条
db.user.deleteMany({})//删除多条
db.user.remove({})   // 删除多条,要指出删除的条件
5、聚集集合查询
db.user.find()     查询所有记录
db.user.find({age:22})     查询age=22的记录
db.user.find({age:{$gt: 22}})   查询age>22的记录
db.user.find({age:{$lt: 22}})   查询age<22的记录
db.user.find({age:{$gte: 22}})   查询age>=22的记录
db.user.find({age:{$lte: 22}})   查询age<=22的记录
db.user.find({age:{$gte:20, $lte:30}})  查询age>=20 && age<=30的记录
db.user.find({name:/yyy/})  查询name中包含'yyy'的记录
db.user.find({name:/^yyy/})  查询name以'yyy'开头的记录
db.user.find({},{name:1,age:1})  查询所有记录,只返回name和age字段(1-显示 0-不显示)
db.user.find({age:{$gt:20}},{name:1,age:1})  查询age>20的记录,只返回name和age字段
db.user.find().sort({age:1})  按age进行升序排列
db.user.find().sort({age:-1})  按age进行降序排列
db.user.find({},{name:1,age:1,_id:0}).sort({age:1})
db.user.find({name:'yyy',age:22})  查询name='yyy' && age=22的记录
db.user.find().limit(5)  只查询前5条记录
db.user.find().skip(10)  查询10条以后的所有数据
db.user.find().skip(5).limit(5)  查询第6~10条记录
db.user.find({$or:[{age:20},{age:25}]})  查询age=20或者age=25的记录
db.user.findOne()  查询满足条件的第一条记录
db.user.find({age:{$gte:25}}).count()  查询满足条件的记录的总条数