Node.js 之mongodb
Posted Hello World
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node.js 之mongodb相关的知识,希望对你有一定的参考价值。
Node第三方mongo包
npm install mongoose
连接mongoDB
const mongoose = require(‘mongoose‘)
// 连接 mongodb
mongoose.connect(‘mongodb://root:123456@121.37.169.23:27017/admin‘, {
// 一些兼容配置,必须加的, 不加会报错
useNewUrlParser: true,
useUnifiedTopology: true
})
.then(() => console.log(‘success‘))
.catch((err) => console.log(err))
// 创建集合
// 设定集合规则
const courseSchema = new mongoose.Schema({
name: String,
author: String,
isPublished: Boolean
})
// 创建集合并应用规则
const Course = mongoose.model(‘Course‘, courseSchema) // courses
插入数据
创建文档 第一种添加方式
const course = new Course({
name: ‘node.js‘,
author: ‘study‘,
isPublished: true
})
course.save().then(doc => console.log(doc))
第二种添加方式 支持 promise
Course.create({
name: ‘javascript‘,
author: ‘jin‘,
isPublished: false
}, (err, res) => {
console.log(err) // 默认是 null
console.log(res) // 插入的数据
})
Course.create({
name: ‘javascript‘,
author: ‘jin‘,
isPublished: false
}).then(res => conosle.log(res)).catch(err => err)
导入数据
[root@hecs-x-medium-2-linux-20200403135700 bin]# ./mongoimport -d admin -c users --file ../user.json
查询文档
// 创建集合规则
const userSchema = new mongoose.Schema({
name: String,
age: Number,
email: String,
password: String,
hobbies: [String]
})
// 使用这个规则创建集合
const User = mongoose.model(‘User‘, userSchema)
// 查询用户集合中所有文档 返回一个数组
// User.find().then(res => console.log(res))
// 查询一条文档,默认返回当前文档中第一条
User.findOne({_id: ‘5c09f1e5aeb04b22f8460965‘}).then(res => console.log(res))
// $gt 大于 $lt 小于
User.find({age: {$gt: 20, $lt: 50}}).then(res => console.log(res))
// $in 包含
User.find({hobbies: {$in: [‘敲代码‘]}}).then(res => console.log(res))
// select() 查询所有 name email 默认会带上 id 可以去掉
User.find().select(‘name email -_id‘).then(res => console.log(res))
// 默认为升序, 如果降序就前面加上 -
User.find().sort(‘-age‘).then(res => console.log(res))
// skip() 跳过n个文档 limit() 只显示 n 个文档
User.find().skip(2).limit(3).then(res => console.log(res))
删除文档
// 删除某一条文档,匹配到多个的时候删除第一个返回被删除的文档
User.findOneAndDelete({_id: ‘5c09f1e5aeb04b22f8460965‘}).then(res => console.log(res))
// 删除多个 如果是空对象,删除多个 返回删除的数量对象
User.deleteMany({}).then(res => console.log(res));
模板引擎 art-template
https://aui.github.io/art-template/zh-cn/docs/
以上是关于Node.js 之mongodb的主要内容,如果未能解决你的问题,请参考以下文章
Node.js知识学习之——Node.js and MongoDB – Getting started with MongoJS
夺命雷公狗---node.js---19之项目的构建在node+express+mongo的博客项目4mongodb在项目中的基本引入
夺命雷公狗---node.js---20之项目的构建在node+express+mongo的博客项目5mongodb在项目中实现添加数据