- 分布式、文档类型。存储复杂数据结果(值为传统对象类型 key=>value (BSON))- 性能高,不需要sql层解析(分析过程、操作过程),数据之间不耦合。- 不适合查询
1. 查看版本号```bash$ mongo --version```1. 打开客户端```bash$ mongo```1. 显示所有数据库```bash$ show dbs```1. 创建数据库```bash# 使用blog 数据库$ use blog```*: 一下操作都是在 blog 数据库中操作1. 显示所有集合```bash# 显示该库下的所有集合$ show collections```1. 创建集合```bash$ db.user.insert({name:'cc',age:20})```1. 集合中查询数据```bash# 当不传入条件时则查询所有$ db.user.find()# 条件查询$ db.user.find({name:'cc'})```1. 删除数据```bash$ db.user.deleteOne({name:'cc'})```1. 权限登录```$ db.auth('账号',‘密码’)```
const mongoose = require('mongoose');//1 连接数据库const conn = mongoose.connect('mongodb://localhost/cms');/*** 有密码的连接方式* 数据库名 test* 用户名 admin* 密码 123456* */// mongoose.connect('mongodb://admin:123456@localhost:27017/test');//2. 定义数据类型const userSchema = new mongoose.Schema({name: String,age: Number,});//3. 创建模型const User = mongoose.model('User', userSchema);
User.create({ name: 'cc', age: 20 }).then((doc) => {console.log(doc);});
(async () => {const r = await User.findOne({ name: 'cc' });})();
如果显示指定字段需,参数指定
User.findOne({name:'cc'},{name:1,age:1 })
(async () => {const r = await User.updateOne({ name: 'cc' }, { name: 'chen' });})();// 多条件查询修改const r = await User.updateOne({ $or: [{ name: 'cc' }, { age: 20 }] },{ $inc: { age: 1 } },);
(async () => {await User.deleteOne({ name: 'cc' });})();