Mongoose是MongoDB的一个对象模型工具,是基于node-mongodb-native开发的MongoDB nodejs驱动,可以在异步的环境下执行。它是针对MongoDB操作的一个对象模型库,封装了MongoDB对文档的的一些增删改查等常用方法。
具体操作如下:
下载模块
npm install mongoose -D
//或
cnpm install mongoose -D
使用mongoose
载入mongoose模块
const mongoose=require("mongoose");
2nodejs连接mongodb数据库
mongoose.connect("mongodb:127.0.0.1:27017/数据库名")
在cmd操作node 文件名.js
,如果出现以下情况
将其中的useUnifiedTopology: true
和useNewUrlParser: true
添加到其后,如下:
mongoose.connect("mongodb:127.0.0.1:27017/数据库名",{useUnifiedTopology: true,useNewUrlParser: true})
创建集合骨架–规则
const 骨架名=new mongoose.Schema({"字段名":数据类型,})
生成文档 数据模型(包含操作文档的方法)
const 数据模型名=mongoose.model("集合名",骨架名)
增加
数据模型名.create([{添加的数据},{}],function(){})//添加一条用对象,添加多条用数组
删除
数据模型名.deleteMany({删除条件},function(){})
修改
数据模型名.update({修改条件},{修改内容},function(){})
//或
数据模型名.update({修改条件},{$set:{修改内容}},function(){})
查询
数据模型名.find({查询条件},{不显示的信息(所有信息默认显示)},{limit:,skip:},function(){})//limit显示多少条信息,skip跳过多少条信息
例:
const mongoose=require("mongoose");
//1、连接数据库students----mongodb中
mongoose.connect("mongodb://127.0.0.1:27017/students",{useUnifiedTopology: true,useNewUrlParser: true});
//2、创建集合(list)
// 创建 (list) 规则/骨架
let listchema=mongoose.Schema({"name":String,"age":Number})
// 2-2、生成集合(list)数据模型
let listModel=mongoose.model("list",listchema);
// 3、在集合(list)中插入文档,
listModel.create([{"name":"hua","age":5},{"name":"ning","age":19},{"name":"wang","age":35},{"name":"gang","age":16}],function(err,data){
console.log("err",err);
console.log("data",data);
});
// 4、查看信息
find({查询条件},{不显示的信息(所有信息默认显示)},function(err,data){})
listModel.find({},function(err,data){
console.log("err",err);
console.log("data",data);
});
listModel.find({},{"_id":false},function(err,data){
console.log("err",err);
console.log("data",data);
})
// 年龄大于18
listModel.find({"age":{$gt:18}},function(err,data){
console.log("err",err);
console.log("data",data);
});
// 5.修改信息
// updata({修改条件},{修改内容},function(err,data){})
listModel.update({"age":35},{"name":"yan"},function(err,data){
console.log("err".err);
console.log("data",data);
});
// 6.删除信息
deleteMany({删除条件},function(err,data){})
listModel.deleteMany({"age":35},function(err,data){
console.log("err",err);
console.log("data",data);
})