官网地址:http://www.mongoosejs.net/
基本使用
我们先创建一个models的文件夹
安装mongoose:
npm install --save mongoose
首先创建一个schema
model文件夹内部创建一个Dogs.js文件
//Dog.js文件 var mongoose = require("mongoose"); // 创建schema,创建数据库表的表头 var dogSchema = new mongoose.Schema({ "color" : String, "name": String, "age" : Number, "sex" : String }); // 创建model,其实底层就是在构造函数 var Dog = mongoose.model("Dog",dogSchema); // 向外暴露 module.exports = Dog;
app.js
var mongoose = require("mongoose"); // 连接数据库 mongoose.connect("mongodb://localhost/study"); // 连接我们要使用的model var Dog = require("./models/Dog.js"); var xiaobai = new Dog({ "id": 1, "name": "大黄", "age": 8, "sex": "男" }) //save() 是 Mongoose documents 上的一个方法。save() 方法是异步的,因此它返回一个可以 await 执行的 Promise。 xiaobai.save(function(err){ if(!err){ console.log("插入成功") } })
查看当前数据库下的表
查看插入的信息
数据库中的表会自动帮你转义,比如我们建的名字是dog会帮你加s,为dogs
基本操作-增加
第一种方法
var mongoose = require("mongoose"); // 连接数据库 mongoose.connect("mongodb://localhost/study"); // 连接我们要使用的model var Dog = require("./models/Dog.js"); Dog.create({ "id": 2, "name": "大黄的儿子", "age": 2, "sex": "男" },function (err) { if(!err){ console.log("插入成功") } })
第二种方法
var dahuang= new Dog({ "id": 3, "name": "大黄的女儿", "age": 2, "sex": "女" }) xiaobai.save(function(err){ if(!err){ console.log("插入成功") } })
基本操作-删除
第一种方法
var mongoose = require("mongoose"); // 连接数据库 mongoose.connect("mongodb://localhost/study"); // 连接我们要使用的model var Dog = require("./models/Dog.js"); Dog.remove({"name":"大黄"},function(err){ if(!err){ console.log("删除成功") } })
第二种方法
var mongoose = require("mongoose"); // 连接数据库 mongoose.connect("mongodb://localhost/study"); // 连接我们要使用的model var Dog = require("./models/Dog.js"); Dog.remove({"name":"大黄"},function(err,result){ resolve[0].remove(function(err){ if(!err){ console.log("删除成功") } }) })
基本操作-修改
第一种方法
var mongoose = require("mongoose"); // 连接数据库 mongoose.connect("mongodb://localhost/study"); // 连接我们要使用的model var Dog = require("./models/Dog.js"); Dog.update({"name":"大黄的儿子"},{"$set":{"name":"大黄的老婆"}},function(err,result){ if(!err){ console.log("修改成功") } })
第二种方法
var mongoose = require("mongoose"); // 连接数据库 mongoose.connect("mongodb://localhost/study"); // 连接我们要使用的model var Dog = require("./models/Dog.js"); Dog.find({"name":"大黄的儿子"},function (err,results) { // 返回的是一个数组 var temp = results[0]; // 修改获取的这一项内容进行修改 temp.name = "大黄的老婆"; // 修改完毕后进行保存 temp.save(function (err) { !err && console.log("修改成功") }) })
基本操作-查询
var mongoose = require("mongoose"); // 连接数据库 mongoose.connect("mongodb://localhost/study"); // 连接我们要使用的model var Dog = require("./models/Dog.js"); Dog.find({},function (err) { !err&&console.log("查询成功") })