Node操作mongodb

Mongoose介绍

网址:http://www.mongoosejs.net/docs/index.html

mongoose是Node环境下异步操作mongodb数据库的扩展,仅限于Node环境下使用。

使用mongoose操作mongodb数据步骤:

  • 使用npm安装mongoose
  • 导入模块,连接mongodb数据库
  • 定义Schema
  • 定义model
  • 使用model进行数据增删改查操作

连接数据库

使用npm安装mongoose模块,并在使用模块中导入

# 安装mongoose

cnpm i -S mongoose

# 导入模块

const mongoose = require('mongoose')

# 连接数据库 返回promise对象

mongoose.connect('mongodb://localhost:27017/mydb', { useNewUrlParser: true, useUnifiedTopology: true })

connect方法参2在新版本需添加,否则会有警告提示

useNewUrlParser:当前URL字符串分析器已弃用,将在将来的版本中删除。要使用新的解析器,请将选项{usenewurlparser:true}传递给mongoclient.connect。

useUnifiedTopology:当前服务器发现和监视引擎已弃用,将在将来的版本中删除。要使用新的服务器发现和监视引擎,请将选项{useUnifiedTopology:true}传递给mongoclient构造函数

安装mongoose扩展

在主程序中连接数据库

定义Schema

Schema是mongoose中会用到的一种数据模式,可以理解为数据表结构的定义;每个schema会映射到mongodb中的一个集合,它不具备操作数据库的能力。Schema中定义数据校验,默认值,字段名,字段类型等特性。

// 创建用户集合规则

const UserSchema = new mongoose.Schema({

// 字段名/域名称

name: {

// 指字域类型

type: String,

// 必填字段

required: true,

// 字段最小长度  minlength 用于字符串类型

minlength: 2

},

age: {

type: Number,

// 默认值

default:10,

// 字段最小值 min用于数字类型

min: 1

},

pwd: String,

email: String,

// 定义此字段为 字符串数组类型

hobbies: [String]

})

定义model

model 是由schema 生成的模型,可以对数据库的操作

// 参数1:model名称

// 参数2:schema名称

// 参数3:操作的数据集合   如果参数3没有填写则以 参1的复数形式为操作数据集合名称

const UserModel = mongoose.model('User', UserSchema, 'users')

## 模型curd相关方法

Model.insertMany({key:value})

Model.deleteMany({条件},err=>{})

Model.deleteOne({条件},err=>{})

Model.countDocuments({条件})

Model.find({条件},{可选字段返回:0/1},{skip:0,limit:10})

Model.findOne({条件},{可选字段返回:0/1})

Model.updateMany({条件},{$set:{key:value}},res=>{})

Model.updateOne({条件},{$set:{key:value}},res=>{})

定义模型实现添加操作

修改、删除和查询

Node安装mongodb的更多相关文章

  1. CentOS 7部署Node.js+MongoDB:在VPS上从安装到Hello world

    写好代码,花钱买了VPS,看着Charges一直上涨却无从下手?记一位新手司机从购买VPS到成功访问的过程 0.购买VPS 首先,选择VPS提供商,部署一个新的服务器(Deploy New Serve ...

  2. 在亚马逊amazon的AWS上安装Node和MongoDB服务器

    在亚马逊amazon的AWS上安装Node和MongoDB服务器 在建立AWS上账号.创建EC2 ,用putty链接上之后,就可以用下面的方法开始安装. !!! 如果不是是自己建立的EC2, 而是由B ...

  3. windows下安装mongodb以及node.js连接mongodb

    一.MongoDB 下载 下载地址  https://www.mongodb.com/download-center#community  选择windows版下载,然后安装. 二.安装完毕后创建数据 ...

  4. 树莓派.安装系统+Node.js+MongoDB系列环境

    1.先去树莓派官网下载最新的ROM https://www.raspberrypi.org/downloads/raspbian/ 这里选的是: RASPBIAN JESSIE WITH DESKTO ...

  5. Node+Deployd+MongoDB安装问题

    首先:祝大家新年快乐!然后:最近在看一本angular教程,教程里面需要装一些软件(node,deployd,mongodb),当三个装完后在doc命令行下运行项目时出现问题了 mongodb已经按照 ...

  6. centos7下安装Node.js MongoDB Nginx

     一.Node.js 方法1(笔者采用).如果对Node.js环境有比较高的要求,建议选择源码安装的方式进行安装,通过wget命令下载Node.js官网上的tar.gz文件包到centos服务器上,进 ...

  7. Node.JS + MongoDB技术浅谈

    看到一个Node.JS + MongoDB的小样例,分享给大家.魔乐科技软件学院(www.mldnjava.cn)的讲座 Node.JS + MongoDB技术讲座          云计算 +大数据 ...

  8. Node+Express+MongoDB + Socket.io搭建实时聊天应用

    Node+Express+MongoDB + Socket.io搭建实时聊天应用 前言 本来开始写博客的时候只是想写一下关于MongoDB的使用总结的,后来觉得还不如干脆写一个node项目实战教程实战 ...

  9. node.js + mongodb

    node.js + mongodb 这次内容是结合bootstrap把登陆注册做好,还有就是express的中间件等问题. 看这篇博客之前建议先看我上篇写的那篇博客http://www.cnblogs ...

  10. 用Node.JS+MongoDB搭建个人博客(安装环境)(一)

    Node.JS是什么? Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js 使用了一个事件驱动.非阻塞式 I/O 的模型,使其轻量又高效. Nod ...

随机推荐

  1. 【Oracle】在PL/SQL中使用sql实现插入排序

    [Oracle]在PL/SQL中使用sql实现插入排序 一般来说,SQL要排序的话直接使用order by即可 不一般来说,就是瞎搞,正好也可以巩固自己的数据结构基础,主要也发现没有人用SQL去实现这 ...

  2. 千万级可观测数据采集器--iLogtail代码完整开源

    简介: 2022年6月29日,阿里云iLogtail开源后迎来首次重大更新,正式发布完整功能的iLogtail社区版.本次更新开源全部C++核心代码,该版本在内核能力上首次对齐企业版,开发者可以构建出 ...

  3. 谈AK管理之基础篇 - 如何进行访问密钥的全生命周期管理?

    简介: 我们也常有听说例如AK被外部攻击者恶意获取,或者员工无心从github泄露的案例,最终导致安全事故或生产事故的发生.AK的应用场景极为广泛,因此做好AK的管理和治理就尤为重要了.本文将通过两种 ...

  4. dotnet C# 通过 Vortice 使用 Direct2D 特效入门

    本文将告诉大家如何通过 Vortice 使用 D2D 的特效 本文属于 DirectX 系列博客,更多 DirectX 和 D2D 以及 Vortice 库的博客,请参阅我的 博客导航 上一篇: Di ...

  5. python实现打扑克方法

    # 游戏规则:# 一付扑克牌,去掉大小王,每个玩家发3张牌,最后比大小,看谁赢.## 有以下几种牌:# 豹子:三张一样的牌,如3张6.# 同花顺:即3张同样花色的顺子, 如红桃 5.6.7# 顺子:又 ...

  6. VGA显示文字

    VGA显示文字 VGA字符显示的原理 把要显示的字符转换成字符点阵,然后编码存储,着色的部分为1,其它为0.然后在VGA上输出显示. 字符点阵生成软件: https://www.zhetao.com/ ...

  7. Linux上OcenBase单机版部署及基本信息查询

    OceanBase单机版部署可以通过在线和离线两种方式部署.在线部署可以通过yum源或者apt源部署,直接拉取官方源码即可.实际使用中,大部分环境连不了外网,本文介绍离线方式安装. 下载"O ...

  8. 【详细教程】手把手教你开通YouTube官方API接口(youtube data api v3)

    一.背景调查 1.1 youtube介绍 众所周知,youtube是目前全球最大的视频社交平台,该平台每天产生大量的视频内容,涵盖各种主题和类型,从音乐视频到教育内容,再到娱乐节目和新闻报道等.You ...

  9. 在英特尔至强 CPU 上使用 🤗 Optimum Intel 实现超快 SetFit 推理

    在缺少标注数据场景,SetFit 是解决的建模问题的一个有前途的解决方案,其由 Hugging Face 与 Intel 实验室 以及 UKP Lab 合作共同开发.作为一个高效的框架,SetFit ...

  10. docker-compose 安装 etcd

    目录 docker-compose.yaml docker-compose.yaml version: "3" services: etcd: hostname: etcd ima ...