概述
通过node.js的mongoose模块,可以对数据库进行连接和操作,获取或者修改数据库的数据内容,加上之前的http搭建的服务器,可以实现基本数据交互。
数据库操作
1.增
语法
创建的数据表.save((err)=>{
console.log("新增完毕后需要做的事情")
})
演示
首先需要先创建一张数据表,里面填写自己需要添加的数据
var x=new User({
name: "王二",
age: 22,
sex:"男"
})
再用save添加
x.save((err) => {
console.log("新增成功");
})
全代码
// 引入模块
var mongoose = require('mongoose');
// 连接数据库:
mongoose.connect("mongodb://127.0.0.1/su",)
// 创建数据表,设置数据类型
var userSchema = mongoose.Schema({
name: String,
age: Number,
sex: String
})
// 选中数据表
var User = mongoose.model('User', userSchema, 'user')
// 创建数据表
var x = new User({
name: "王二",
age: 22,
sex: "男"
})
// save新增
x.save((err) => {
console.log("新增成功");
})
查看结果
查看数据库是否添加成功(数据表刷新一下)
2.删
语法(一般使用deletOne)
// deleteMany 删除所有符合条件的文档
// deleteOne 删除符合条件的第一条文档
// remove 删除符合条件的所有文档,只删除符合的第一条需要将single设置为true
数据表.remove/deleteOne/deleteMany({条件},(err)=>{
console.log("删除完毕要做的事")
})
演示
删除名字叫张三的用户
User.deleteOne({ name: "张三" }, (err) => {
console.log("修改成功");
})
全代码
// 引入模块
var mongoose = require('mongoose');
// 连接数据库:
mongoose.connect("mongodb://127.0.0.1/su",)
// 创建数据表,设置数据类型
var userSchema = mongoose.Schema({
name: String,
age: Number,
sex: String
})
// 选中数据表
var User = mongoose.model('User', userSchema, 'user')
// 删除name为张三的用户
User.deleteOne({ name: "张三" }, (err) => {
console.log("修改成功");
})
查看运行结果
查看数据库是否删除(数据表刷新一下)
3.改
语法
// updateMany 修改所有符合条件的文档
// updateOne 修改符合条件的第一条文档
// update 修改符合条件的所有文档,只删除符合的第一条需要将single设置为true
User.update/updateOne/updateMany({条件},{新内容},(err)=>{
console.log("修改完毕要做的事")
})
演示
将王二的性别改为女
User.updateOne({ name: "王二" }, { sex: "女" }, (err) => {
console.log("修改成功");
})
查看运行结果
查看数据库
4.查
语法
表名.find({条件},{返回},(err,result)=>{
result;//返回的结果,是我们的最爱JSON格式
})
//返回里面可以控制返回的数据,不需要返回的值赋为0,需要的赋值为1
演示
查找性别为男的用户
User.find({ sex: "男" }, (err, result) => {
console.log(result);
})
全代码
// 引入模块
var mongoose = require('mongoose');
// 连接数据库:
mongoose.connect("mongodb://127.0.0.1/su",)
// 创建数据表,设置数据类型
var userSchema = mongoose.Schema({
name: String,
age: Number,
sex: String
})
// 选中数据表
var User = mongoose.model('User', userSchema, 'user')
User.find({ sex: "男" }, (err, result) => {
console.log(result);
})
输出结果
演示
查找性别为女的用户,只返回姓名 ,不反回id
User.find({ sex: "女" }, { _id: 0, name: 1 }, (err, result) => {
console.log(result);
})
运行结果
注:如果不写_id:0,还是会返回id