首页 > 数据库 >Node.js 通过mongose连mongoDB

Node.js 通过mongose连mongoDB

时间:2024-08-03 20:39:28浏览次数:8  
标签:Node const mongoDB Person 文档 mongoose mongose Schema

直接用的mongoDB Atlas,有免费的云集群可以用,免费的mongoDB Atlas

mongose是一个对象文档映射(ODM)库,用来在node.js上和mongoDB交互的。
比较详细的介绍见这个:https://www.freecodecamp.org/news/introduction-to-mongoose-for-mongodb-d2a7aa593c57/

建立连接

这里的path是你的mongoDB的地址

const mongoose = require('mongoose');
mongoose.connect(path, {useNewUrlParser: true, useUnifiedTopology: true})

建立连接之后,我们就可以处理数据了

Schema

Schema主要用于定义文档的结构和字段的验证规则等。它描述了文档中包含哪些字段,每个字段的数据类型、默认值、是否必填、验证规则等信息。
我们可以这样定义一个Schema

const Schema = mongoose.Schema
const personSchema = new Schema({
    name: {type: String, required: true},
    age: Number,
    favoriteFoods: [String]
})

但是Schema不像我们写Java时候地PO,它不直接映射到collection

Model

Mode基于Schema创建,它用于和数据库产生交互,用于创建,删除,更新文档等。一个Mode对应一个collection

const Person = mongoose.model("Person", personSchema);

这个操作会创建一个名为Person地Model,对应MongoDB里的collection应该叫people,会默认转换为小写复数形式。
通过下面地代码,可以创建一个Person地对象并且保存到MongoDB中。

    let p = new Person({name: "Jane Fonda", age: 84, favoriteFoods: ["eggs", "fish", "fresh fruit"]});
    p.save(function (err, data) {
        if (err) return console.error(err);
    })

标签:Node,const,mongoDB,Person,文档,mongoose,mongose,Schema
From: https://www.cnblogs.com/yumingkuan/p/18341022

相关文章

  • nvm 安装不同的node版本
    如果执行超时之类的多执行几次就正常了 wget-qO-https://raw.githubusercontent.com/nvm-sh/nvm/v0.39.5/install.sh|bash=>Downloadingnvmfromgitto'/home/gitlab-runner/.nvm'=>Cloninginto'/home/gitlab-runner/.nvm'...fatal:unabletoaccess......
  • Node.js path模块
    在Node.js中,path模块用于处理和转换文件路径。以下是一些常用的path模块方法及其说明:path.basename(path[,ext])返回路径中的最后一部分,即文件名。示例:constpath=require('path');console.log(path.basename('/foo/bar/baz/asdf/quux.html'));//输出:'quux.htm......
  • nodejs使用child_process模块启动(exec和spawn)子线程任务,子进程实例的kill()方法无效的
    以下内容在win10环境下的执行分析(这里就不对进程和线程做区分了):child_process.exec和child_process.spawn启动进程的区别。shell<string>Shelltoexecutethecommandwith.SeeShellrequirementsandDefaultWindowsshell.Default:'/bin/sh'onUnix,process.env.C......
  • Ubuntu下安装MongoDB 7
    1.sudosed-i's/http:\/\/archive.ubuntu.com/https:\/\/mirrors.ustc.edu.cn/g'/etc/apt/sources.list2.sudoaptupdate&&sudoaptupgrade-y3.sudoaptinstallgnupgwgetapt-transport-httpsca-certificatessoftware-properties-......
  • MongoDB性能调优
    文章目录MongoDB性能调优MongoDB性能不佳原因影响MongoDB性能的因素MongoDB性能监控工具mongostatmongotopProfiler模块db.currentOp()MongoDB性能调优MongoDB性能不佳原因慢查询阻塞等待硬件资源不足1,2通常是因为模型/索引设计不佳导致的排查思路:按1-2-3依次......
  • MongoDB两地三中心集群架构设计、全球多写集群架构设计
    文章目录高级集群架构设计两地三中心集群架构设计容灾级别两地三中心方案:复制集跨中心部署两地三中心部署的考量点两地三中心复制集搭建环境准备整体架构配置域名解析启动5个MongoDB实例初始化复制集配置选举优先级启动持续写脚本(每2秒写一条记录)测试结果总结全球多......
  • MongoDB复制集/集群搭建详解
    文章目录复制集介绍三节点复制集模式Pss模式PSA模式典型三节点复制集环境搭建注意事项搭建配置复制集复制集状态查询复制集常用命令安全认证创建用户创建keyFile文件启动mongod复制集连接方式复制集成员角色属性成员角色配置隐藏节点配置延时节点添加投票节点移除复制......
  • nodejs 使用 sequelize 实现 mysql数据库的批量插入
    直接上代码:/***设置mysql连接,返回连接实例。连接格式:账户:密码@数据库地址/具体数据库名称***/constsetConnect=()=>{constsequelize=newSequelize(`mysql://${你的mysql地址}`,{logging:(...msg)=>Logger.INSTANCE.inf......
  • 将 HTTP 分块编码数据流代码片段从 Node.js 转换为 Python
    我有一个Node.js客户端代码,它将请求发送到HTTP服务器,然后连续接收分块编码数据。这是带有一些流量数据输出的Node.js代码。consthttp=require('http');constoptions={hostname:'...',path:'...',port:...,...};constreq=http.request(......
  • kubernetes更改nodePort模式下的默认端口范围
    使用nodePort模式,官方默认范围为30000-32767,详见Service官方文档。NodePort类型如果将type字段设置为NodePort,则Kubernetes控制平面将在–service-node-port-range标志指定的范围内分配端口(默认值:30000-32767)。每个节点将那个端口(每个节点上的相同端口号)代理到您的服务......