数据库的4大基本操作增删改查。
先定义好模型
const Mongoose = require('mongoose')
var user = new Mongoose.Schema({//Schema要实例化mongoose
user: String,
age: {
type: Number,
validate: {//验证器
validator: function (v) {
if (v > 30) {
return false
}
},
message: '年龄不能大于30'
},
required: true//必要数据器
},
inter: Object
})
module.exports = Mongoose.model('order',order)
控制层中引入这个模型
const user = require('../model/user')
增
var userTest = new user({
user: '测试名字',
age: 18,
inter: {
sport: 'football',
eat: 'apple'
}
})
添加数据的方式有两种一种是userTest.save()需要实例化模型,另一种是user.create(data,callback(err,res))这种方式不用实例化模型。
删
user.remove({user: '测试名字'},function (err,res) {
if (err) {
console.log(err)
} else {
console.log(res)
}
})
改
user.update({user: '测试名字'},{$set: {age: 24}},function (err,res) {
if (err) {
console.log(err)
} else {
console.log(res)
}
})
查找user字段为‘测试名字’的数据将数据中的age字段的值改为24
查
user.find({user: '测试名字'},function (err,res) {
if (err) {
console.log(err)
} else {
console.log(res)
}
})
user.findOne({user: '测试名字'},function (err,res) {
if (err) {
console.log(err)
} else {
console.log(res)
}
})
user.findById({_id: '5c6e6687e78a68053c19633d'},function (err,res) {
if (err) {
console.log(err)
} else {
console.log(res)
}
})
查询有三种方式find查全部符合要求,findOne查到的第一个,findById通过集合中每条数据特定的_id来查询
查询方式中还可以设定条件
"$lt"(小于)
"$lte"(小于等于)
"$gt"(大于)
"$gte"(大于等于)
"$ne"(不等于)
user.find({age: {$ne: 18}},function (err,res) {
if (err) {
console.log(err)
} else {
console.log(res)
}
})
"$in"(看例子)
"$nin"(看例子)
user.find({age: {$nin: [19,24]}},function (err,res) {
if (err) {
console.log(err)
} else {
console.log(res)
}
})
$in age字段为19和24的数据
$nin age字段不为19和24的数据
"$or"(符合多个条件查询中的一个)
user.find({$or: [{user: '测试名字'},{age: 18}]},function (err,res) {
if (err) {
console.log(err)
} else {
console.log(res)
}
})
符合user字段为测试名字或者age字段为18的数据
"$exists"(表示是否存在的意思)
user.find({id: {$exists: false}},function (err,res) {
if (err) {
console.log(err)
} else {
console.log(res)
}
})
不存在id字段的数据
除了增加数据中的save()要实例化model之外,其他的所有方法都不用实例化model直接使用