二、MongoDB增删改查操作
1、创建集合和文档
创建集合分为两步,一是对对集合设定规则,二是创建集合,创建mongoose.Schema构造函数的实例即可创建集合。
代码语言:javascript复制 // 设定集合规则
const courseSchema = new mongoose.Schema({
name: String,
author: String,
isPublished: Boolean
});
// 创建集合并应用规则
const Course = mongoose.model('Course', courseSchema); // courses
代码语言:javascript复制// 引入mongoose第三方模块 用来操作数据库
const mongoose = require('mongoose');
// 数据库连接
mongoose.connect('mongodb://localhost/playground', { useNewUrlParser: true})
// 连接成功
.then(() => console.log('数据库连接成功'))
// 连接失败
.catch(err => console.log(err, '数据库连接失败'));
// 创建集合规则
const courseSchema = new mongoose.Schema({
name: String,
author: String,
isPublished: Boolean
});
代码语言:javascript复制// 使用规则创建集合
// 1.集合名称
// 2.集合规则
const Course = mongoose.model('Course', courseSchema) // courses
// 创建文档
const course = new Course({
name: 'node.js基础',
author: 'wuyuxin',
isPublished: true
});
// 将文档插入到数据库中
course.save();
创建文档实际上就是向集合中插入数据。
分为两步:
创建集合实例。
调用实例对象下的save方法将数据保存到数据库中。
代码语言:javascript复制 // 创建集合实例
const course = new Course({
name: 'Node.js course',
author: 'wuyuxin',
tags: ['node', 'backend'],
isPublished: true
});
// 将数据保存到数据库中
course.save();
代码语言:javascript复制Course.create({name: 'JavaScript基础', author: 'wuyuxin', isPublish: true}, (err, doc) => {
// 错误对象
console.log(err)
// 当前插入的文档
console.log(doc)
});
Course.create({name: 'JavaScript基础', author: 'wuyuxin', isPublish: true})
.then(doc => console.log(doc))
.catch(err => console.log(err))
代码语言:javascript复制// 引入mongoose第三方模块 用来操作数据库
const mongoose = require('mongoose');
// 数据库连接
mongoose.connect('mongodb://localhost/playground', { useNewUrlParser: true})
// 连接成功
.then(() => console.log('数据库连接成功'))
// 连接失败
.catch(err => console.log(err, '数据库连接失败'));
// 创建集合规则
const courseSchema = new mongoose.Schema({
name: String,
author: String,
isPublished: Boolean
});
// 使用规则创建集合
// 1.集合名称
// 2.集合规则
const Course = mongoose.model('Course', courseSchema) // courses
// 向集合中插入文档
// Course.create({name: 'Javascript', author: 'wuyuxin', isPublished: false}, (err, result) => {
// console.log(err)
// console.log(result)
// })
Course.create({name: 'Javascript123', author: 'wuyuxin', isPublished: false})
.then(result => {
console.log(result)
})