Mongodb中的一些基本使用

在Nodejs中如何使用mongodb,来调用或者存储数据

//引入mongoose第三方模块 用来操作数据库
const mongoose = require('mongoose');
// 数据库连接
mongoose.connect('mongodb://localhost/playground', {
        useNewUrlParser: true,
        useUnifiedTopology: true
    })
    // 连接成功
    .then(() => console.log('数据库连接成功'))
    // 连接失败
    .catch(err => console.log(err, '数据库连接失败'));
const courseSchema = new mongoose.Schema({
    name: String,
    author: String,
    isPublished: Boolean
})
const Course = mongoose.model('Course', courseSchema)
Course.create({
    name: '语文',
    author: '小刚',
    isPublished: false
}, (error, doc) => {
    console.log(error);
    console.log(doc);
})

1.首先需要引入第三方模块mongoose
2.mongoose.connect()方法连接本地数据库,第一个参数是固定的格式mongodb协议后面的localhost/playground是本地数据库,如果没有则自动创建。
3.创建集合规则:const courseSchema = new mongoose.Schema({}),里面的参数是一个对象,规定数据的基本类型。
4.const Course = mongoose.model(‘Course’, courseSchema)创建集合(注意这个时候数据库并不会显示该集合,因为此时还没有向里面填充文档。)
5. Course.create({})向集合中填充数据,第一个参数是填充的文档对象,第二个参数是返回添加文档成功或者失败的方法。

另一种添加文档的方式,是通过实例化集合来实现的如下:

const course = new Course({
    name: '数学',
    author: '小红',
    isPublished: true
})
course.save();

如何查找对应条件的文档用到的是User.find({})来实现,User是创建的集合对象参数是需要查找的条件

User.find({
    age: {
        $lt: 30,
    }
}).then((result) => {
    console.log(result)
})

$lt < (less than ) 小于

$lte <= (less than or equal to ) 小于等于

$gt > (greater than )大于

$gte >= (greater than or equal to)大于等于

User.find({
    hobbies: '足球'
}).then(result => console.log(result))
User.find({
    hobbies: {
        $in: '足球'
    }
}).then(result => console.log(result))
User.find().sort('-age').then(result => console.log(result))
User.find({
    age: {
        $gt: 19
    } //选择需要查询的字段
}).select('name').then(result => console.log(result))
User.find().skip(2).limit(2).then(result => console.log(result));

$in在这里是指hobbies数组里面包含’足球’

删除某一个文档

User.findOneAndDelete({
    name: '王五'
}).then(result => console.log(result))

更新文档中的数据

User.updateMany({
    age: 19
}, {
    age: 20
}).then(result => console.log(result));

猜你喜欢

转载自blog.csdn.net/coucouxie/article/details/107771841