概述

        通过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("新增成功");
})

查看结果

typescript 数据库增删改查 js实现数据库增删改查_User

 查看数据库是否添加成功(数据表刷新一下)

typescript 数据库增删改查 js实现数据库增删改查_node.js_02

2.删

语法(一般使用deletOne)

// deleteMany 删除所有符合条件的文档
// deleteOne  删除符合条件的第一条文档
// remove     删除符合条件的所有文档,只删除符合的第一条需要将single设置为true
数据表.remove/deleteOne/deleteMany({条件},(err)=>{
				console.log("删除完毕要做的事")
			})

演示

删除名字叫张三的用户

typescript 数据库增删改查 js实现数据库增删改查_数据库_03

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("修改成功");
})

查看运行结果

typescript 数据库增删改查 js实现数据库增删改查_User_04

查看数据库是否删除(数据表刷新一下)

typescript 数据库增删改查 js实现数据库增删改查_typescript 数据库增删改查_05

3.改 

语法

// updateMany 修改所有符合条件的文档
// updateOne  修改符合条件的第一条文档
// update     修改符合条件的所有文档,只删除符合的第一条需要将single设置为true
User.update/updateOne/updateMany({条件},{新内容},(err)=>{
				console.log("修改完毕要做的事")
			})

演示

将王二的性别改为女

User.updateOne({ name: "王二" }, { sex: "女" }, (err) => {
    console.log("修改成功");
})

查看运行结果

typescript 数据库增删改查 js实现数据库增删改查_typescript 数据库增删改查_06

查看数据库 

typescript 数据库增删改查 js实现数据库增删改查_数据库_07

4.查

语法

表名.find({条件},{返回},(err,result)=>{
				result;//返回的结果,是我们的最爱JSON格式
			})
//返回里面可以控制返回的数据,不需要返回的值赋为0,需要的赋值为1

演示

查找性别为男的用户

typescript 数据库增删改查 js实现数据库增删改查_typescript 数据库增删改查_08

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);
})

输出结果

 

typescript 数据库增删改查 js实现数据库增删改查_typescript 数据库增删改查_09

演示

查找性别为女的用户,只返回姓名 ,不反回id

User.find({ sex: "女" }, { _id: 0, name: 1 }, (err, result) => {
    console.log(result);
})

运行结果

typescript 数据库增删改查 js实现数据库增删改查_数据库_10

注:如果不写_id:0,还是会返回id

typescript 数据库增删改查 js实现数据库增删改查_mongodb_11