Mongooose 入门

摘要:
特点:非关系数据库是基于关系数据库的思想设计的。MongoDB驱动器简化了官方文档的操作http://www.mongoosejs.net/docs/index.html安装npmimongoose--保存以导入猫鼬并连接到数据库,constmongoose=require(“猫鼬”);猫鼬。连接('mongodb://eggadmin:123@升
  1. 安装
    npm i mongoose --save

  2. 引入mongoose 并连接数据库 并连接
    const mongoose = require("mongoose");
    mongoose.connect('mongodb://eggadmin:123@localhost:27017/cms');

  3. 定义Schema

    • 数据库中的Schema,为数据库对象的集合,schema 是 mongoose 里会用到的一种数据模式,可以理解为对表结构的定义;每个schema 会映射到mongodb 中的一个collection,它不具备操作数据库的能力;
 // app/model/user.js
module.exports = app => {
let mongoose = app.mongoose;
 var UserSchema = new mongoose.Schema({
    username:{
        type:String,
        unique:true,
    },
    password:String,
    name:String,
    age:Number,
    sex:String,
    tel:Number,
    status:{
        type:Number,
        default:1,
    }, 
 });
 return mongoose.model('User', UserSchema , 'user');
}

4.创建数据模型

  • 定义好了Schema,接下来就是生成Model,model 是由schema 生成的模型,可以对数据库操作
    mongoose.model里面可以传入两个参数也可以传入三个参数
    如果只传2个参数,这个模型会和模型名称相同的复数的数据库建立链接
    var User = mongoose.model("User",UserSchema); // 将链接users这个集合;
    mongoose.model(参数1:模型名称首字母大写,参数2:Schema,参数3:数据库集合名称);

5.查找数据 都接受一个回调函数来判断错误;

    User.find({},function(err,doc){
      if(err){
        console.log(err);
        return;
      }
      console.log(docs);
    })

6.增加数据 实例化模型,传入增加的数据

    var u = new User({
      name:'lishi123',
      age:20,
      status:true,
    })
    u.save();

7.修新匹配到的第一条数据

    User.updateOne({name:'list123'},{name:'哈哈哈'},function(err,res){
  if(err){
    console.log(err);
    return;
  }
  conosole.log('成功');
    })

8.删除匹配到的第一条数据

    User.deleteOne({_Id:'123456789'},function(err){
      if(err){
        console.log(err);
        return;
      }
      console.log('成功');
    })

免责声明:文章转载自《Mongooose 入门》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Android中AsyncTask的简单用法【转】C# WinForm中的Label如何换行下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Redis----windows下的常用命令二

Redis 是一个开源,高级的键值对的存储。它经常作为服务端的数据结构,它的键的数据类型能够是strings, hashs, lists, sets(无序集合) 和 sorted sets(有序集合).启动redis服务:redis-server.exe redis.windows.conf启用客户端:redis-cli.exe双击 redis-cli.e...

使用Golang 封装一个Api 框架 ----- 数据库操作篇(gorm引入)

前言: 一个框架中没有数据库操作是万万不能的,本框架暂时先引入gorm,后续如果gorm使用不顺手的话,就需要考虑基于Golang数据库驱动自己造轮子了 引入gorm // 在 go.mod 中加入 require github.com/jinzhu/gorm v1.9.12 在引入gorm的时候可能会遇到crypto 这个资源被墙了,拉取不到,这时...

Oracle dblink详解(转)

oracle dblink 是干嘛的:比如现在有俩个数据库,都是单独的,如果我们现在登陆当前数据库,想访问另一个数据库,如果我们建了DBLINK我们就可以直接在当前数据库取访问另一个数据库。 如select * from user@xe 这样我们就可以直接访问另一个数据库的user表@真东方之子 database link概述 database link是...

Oracle数据库导入导出总结(dmp文件)

Oracle 10G 管理页面(Oracle Enterprise Manager 10g): http://localhost:1158/emhttp://localhost:1158/em/console/logon/logon Oracle数据库导出:   (1)整个用户下的所有数据(dmp文件):    《导出》          exp 用户...

Wince下sqlce数据库开发(一)

对于Wince下的sqlce数据库虽然很多人在用,但在我查找资料时,却发现资料是多么的匮乏,在此对自己这几天的了解做个简单介绍,希望对大家能有所帮助! 本文的最后附有所使用到的sqlce在wince下的安装文件,wince截屏工具及本示例代码的下载地址。 1.创建wince项目: 注:wince项目的创建需要在VS2008或者VS2005下 图1 创建“智...

ES数据架构与关系数据库Mysql

ES数据架构的主要概念(与关系数据库Mysql对比)     MySQL     ElasticSearch Database Index Table Type Row Document Column Field Schema Mapping Index Everything is indexed SQL Query DSL...