mangodb知识汇总

数据库mongoose封装库

2019-05-26  本文已影响0人  果木山

数据库mongoose封装库

 //1.引入模块
 const mongoose=require("mongoose");
 //2.引入参数
 const dbSetting=require("./dbsetting");
 //2.连接数据库
 mongoose.connect(dbSetting.url+"/"+dbSetting.dbName,{useNewUrlParser:true},function (err) {
     if(err){
         console.log("连接数据库失败");
         return;
     }
     console.log("连接数据库成功");
 });
 //3.创建一个schema,规定集合内数据的结构和类型,创建规则,规则中不设置,不能插入成功;
 var carSchema=new mongoose.Schema({
     name:String,
     age:Number,
     sex:String
 });
 //4.根据规则,创建一个类,相当于数据库中的一个集合
 var Car=mongoose.model("cars",carSchema);//集合名为cars
 //5.类的静态属性来操作数据库的增删改查
 module.exports= {
     //1.增
     //1)插入多条数据:单个数据可以是json对象,多个数据放在数组中;
     insertMany: function (aryjson, callback) {
         Car.insertMany(aryjson, function (err, docs) {
             callback(err, docs);
         })
     },
     //2.删
     //1)删除满足条件的一条数据:
     deleteOne: function (filter, callback) {
         Car.deleteOne(filter, function (err, doc) {
             callback(err, doc);
         })
     },
     //2)删除满足条件的所有数据:
     deleteMany: function (filter, callback) {
         Car.deleteMany(filter, function (err, doc) {
             callback(err, doc);
         })
     },
     //3.改
     //1)修改满足条件的一条数据:
     updateOne: function (filter, updatejson, callback) {
         Car.updateOne(filter, updatejson, function (err, doc) {
             callback(err, doc);
         })
     },
     //2)修改满足条件的多条数据:
     updateMany: function (filter, updatejson, callback) {
         Car.updateMany(filter, updatejson, function (err, doc) {
             callback(err, doc);
         })
     },
     //4.查
     //1)查找,排序,分页
     find:function (filter, sortcur, callback) {
         //sortcur:{"sort":{"age":-1},page,pageamount}
         if(arguments.length===2){
             callback=sortcur;
             sortcur={};
         }
         var sort=sortcur.sort || {};
         var page=Number(sortcur.page) || 0;
         var pageamount=Number(sortcur.pageamount) || 0;
         Car.find(filter,function (err,docs) {
             callback(err,docs);
         }).sort(sort).limit(pageamount).skip(page*pageamount);
     },
     //2)获取满足条件的数据总个数
     count:function (filter, callback) {
         Car.countDocuments(filter,function (err, count) {
             callback(err,count);
         })
     }
 };
 module.exports={
   url:"mongodb://localhost:27017",
   dbName:"tiankong"
 };
 const express=require("express");
 const mdb=require("./mongoosedb");
 
 const app=express();
 app.listen(2222,function () {
     console.log("2222 server is running");
 });
 
 //1.插入多条数据
 app.get("/insertmany",function (req, res) {
     var aryjson=[{name:"qiaofeng",age:16},{name:"duanyu",age:34}];
     var json={name:"yangguo",age:20};
     mdb.insertMany(aryjson,function (err, doc) {
         if(err){
             res.send(err);
         }
         res.send(doc);
     })
 });
 //2.修改一条
 app.get("/updateone",function (req, res) {
     var filter={"age":23};
     var updatejson={$set:{"age":100}};
     mdb.updateOne(filter,updatejson,function (err, doc) {
         if(err){
             res.send(err);
         }
         res.send(doc);
     });
 });
 //3.修改多条数据
 app.get("/updatemany",function (req, res) {
     var filter={"age":23};
     var updatejson={$set:{"age":100}};
     mdb.updateMany(filter,updatejson,function (err, doc) {
         if(err){
             res.send(err);
         }
         res.send(doc);
     });
 });
 //4.查找数据
 app.get("/find",function (req, res) {
     var sort={"age":1};
     var page=1;
     var pageamount=5;
     mdb.find({},{sort,page,pageamount},function (err, docs) {
         if(err){
             res.send(err);
         }
         res.send(docs);
     })
 });
 //5.删除一条数据
 app.get("/deleteone",function (req, res) {
     mdb.deleteOne({"age":100},function (err, doc) {
         if(err){
             res.send(err);
         }
         res.send(doc);
     })
 });
 //6.删除多条数据
 app.get("/deletemany",function (req, res) {
     mdb.deleteMany({"age":100},function (err, doc) {
         if(err){
             res.send(err);
         }
         res.send(doc);
     })
 });
 //7.查找满足条件的数据总个数
 app.get("/count",function (req, res) {
     mdb.count({"age":{$lt:50}},function (err, count) {
         if(err){
             res.sende(err);
         }
         console.log(typeof count);
         res.send(count.toString());
     })
 });
上一篇下一篇

猜你喜欢

热点阅读