MongoDB 的增删改查

const mongoose = require('mongoose')

// 连接数据库
mongoose.connect('mongodb://164.red:27017/test', { useUnifiedTopology: true })
    .then( res => console.log('数据库连接成功'))
    .catch( err => console.log('数据库连接失败'))


// 设定集合规则
const userSchema = new mongoose.Schema({
    user_name: String,
    user_sex: String,
    user_age: Number,
    user_country: String,
    user_province: String,
    user_city: String,
    user_type: String,
    user_id: Number,
    user_phone: String,
    user_create_time: String
})

// 创建集合并应用集合规则
const User = mongoose.model('User', userSchema)


let data = {
    user_name: 'tes11t12122',
    user_sex: '男',
    user_age: 12,
    user_country: '中国',
    user_province: '上海',
    user_city: '静安区',
    user_type: '1',
    user_id: 1,
    user_phone: '15511112222',
    user_create_time: new Date()
}

// 插入文档方式一
// 创建文档
const person = new User(data)
// 将文档插入到数据库中
person.save()

// 插入文档方式二
// 创建并插入到数据库
User.create(data, (error, result ) => {
    console.log('err', error)
    console.log('resutl', result)
})

// 查询User集合所有文档
User.find().then( result =>  console.log(result))

// 根据查找条件查询 (传入一个对象)
User.find({user_name: 'LIEA'}).then( result => console.log( result ))

// 返回一条数据,默认返回第一次条数据
User.findOne({ user_name: 'LIEA' }).then( result => console.log( result ))

// 匹配大于 小于
// $gt 匹配大于 $lt 匹配小于 $in 匹配包含
User.find({ user_age: {$gt: 15, $lt: 20} }).then( result => console.log( result ))
User.find({ user_name: { $in: 'test' }}).then( result => console.log( result ))

// select 选择要查询的字段  多个字段用空格隔开
User.find().select('user_name user_age').then( result => console.log( result ))

// sort 排序
User.find().sort('user_age').then( result => console.log( result ))

// skip 跳过多少条数据 limit限制查询数量
User.find().skip(7).limit(2).then( result => console.log( result ))

// findOneAndDelete() 查找并删除一个文档
User.findOneAndDelete({ user_age: 20 }).then( result => console.log( result ))

// deleteMany() 删除多条文档 如果传控对象,则全部删除
User.deleteMany({}).then( result => console.log( result ))

// updateOne() 更新文档
User.updateOne({_id: '5e0c4c2d0639b4c3b3eca8d9',user_name: 'tes11t12122'}, {user_name: 'test'}).then( result => console.log( result ))

// updateMany() 更新集合中所有文档
User.updateMany({}, {user_age: 25}).then( result => console.log( result ))

猜你喜欢

转载自www.cnblogs.com/liea/p/12129020.html