首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

Node.js的MongoDB

集合(collection):集合类似于数组,在集合可以存放文档文档(document):文档数据库的最小单位,我们存储和操作的内容都是文档。...db.colleges.find(); //4.向数据库的colleges集合插入一个文档(Golang) db.colleges.insert({ name:"html5" });...({}); db.colleges.drop(); show dbs; use test1 //15.向集合插入10000个文档 7.2s for(var i=1 ; i<=10000 ; i+...mongoose的相关概念 mongoose中提供了几个新的对象: + Schema(模式对象):Schema对象定义约束了数据库文档结构 + Model:Model对象作为集合的所有文档的表示...,相当于MongoDB数据库集合collection + Document: Document表示集合的具体文档 mongoose使用步骤 1.下载安装Mongoose: npm i mongoose

5.2K40

初试MongoDB学习之Mongoose的使用

#Mongoose的优势 可以像操作对象一样操作数据库 可以为文档创建一个模式结构(Schema) 可以对模型文档/文档进行验证 数据可以通过类型转换为对象模型 可以使用中间件来应用业务逻辑挂钩 比...}) #mongoose基本使用 #mongoose的几个新的对象 在MongoDB,多个Document可以组成Collection(以下简称集合),多个集合又可以组成数据库。...文档 —— 是MongoDB的核心概念,是键值对的一个有序集,在JavaScript里文档被表示成对象。同时它也是MongoDB数据的基本单元,非常类似于关系型数据库管理系统的行,但更具表现力。...集合 —— 由一组文档组成,如果将MongoDB一个文档比喻成关系型数据库的一行,那么一个集合就相当于一张表。...mongoose任何任何事物都是从Schema开始的。每一个Schema对应MongoDB一个集合(collection)。Schema定义了集合文档(document)的样式。

5.9K20

大数据技术之_22_MongoDB学习_MongoDB 的简介、下载、安装、启动、配置和关闭 + MongoDB 的基本操作 + Mongoose + 使用 java 对 MongoDB 增删改查

3.5 文档的增删改查 插入文档   db.collection.insert();   insert() 可以用于向集合添加一个或多个文档,可以传递一个对象,或一个数组。   ...可以将对象或数组的对象添加进集合,添加时如果集合或数据库不存在,会自动创建。   插入文档对象会默认添加_id 属性,这个属性对应一个唯一的id,是该文档的唯一标识。...; // 2.向数据库的 user 集合插入一个文档   db.users.insert({     username: "sunwukong" }); // 3.查询 user 集合文档 db.users.find...(); // 4.向数据库的 user 集合插入一个文档    db.users.insert({     username: "zhubajie" }); // 5.查询数据库 user 集合文档...Document   • Document 表示集合的具体文档,相当于集合一个具体的文档

17.7K30

MongoDB增删改查操作

// mongoose.Schema() 是一个构造函数,要new一个实例对象 //2、设定集合规则 const courseSchema = new mongoose.Schema({ name...= mongoose.model ('Course', courseSchema); //第一个参数是集合名称,第二个是集合规则。...实际在数据库中产生的集合名为courses 1.创建文档 创建文档实际上就是向集合插入数据。 方法1 分为两步: ①创建集合实例。 ②调用实例对象下的save方法将数据保存到数据库。...mongoose.model('User', userSchema); const Post = mongoose.model('Post', postSchema); // 插入文档数据 // User.create...案例:用户信息增删改查 搭建网站服务器,实现客户端与服务器端的通信 连接数据库,创建用户集合,向集合插入文档 当用户访问/list时, 将所有用户信息查询出来 将用户信息和表格HTML

6.2K10

我的NodeJS学习之路6(数据库设计及开发)

非关系型数据库的解决思路: 在文章的Collection增加一个SubCollection,SubCollection可以存放用户信息,如用户名,只要有用户喜欢了文章,在这篇文章的文档的子文档插入一条记录即可...'); mongoose.connect('mongodb://127.0.0.1:27017/blog'); 定义一个Schema(也就是Mongodb的Collections集合),更多字段类型,...说到这里,我们先来说一个其他的问题:“关于Mongodb两个集合之间的对应关系,设计呢?”...通过查找资料我的总结如下: 如果只需要通过A集合查询B集合,而不需要反过来查询,也就是单向的关系(文章和评论,只需要展示文章的时候,将其评论展示即可),那么可以在A集合建立一个集合B。...如果既需要通过A查询B,又需要通过B查询A(作者和文章,需要查询某作者下的所有文章,展示文章的时候,有需要展示作者的相关信息),那么可以在子集合通过一个唯一字段关联父集合

2.8K10

MongoDB增删改查操作

1.2 创建文档 创建文档实际上就是向集合插入数据。...const course = new Course({ name// 如果想要向集合插入数据 那么需要创建集合构造函数的实例 // 创建文档 const course = new Course...数据库的所有操作都是异步操作 1.使用create方法创建文档 通过回调函数的方法获取异步API // 向集合插入文档 Course.create({ name: 'JavaScript',...mongoose验证 在创建集合规则时,可以设置当前字段的验证规则,验证失败就则输入插入失败。...,向集合插入文档 当用户访问/list时,将所有用户信息查询出来 实现路由功能 呈现用户列表页面 从数据库查询用户信息 将用户信息展示在列表 将用户信息和表格HTML

19.9K30

Nodejs和Mongodb的连接器Mongoose

同时它也是一个对象数据库,没有表、行等概念,也没有固定的模式和结构,所有的数据以文档的形式存储(文档,就是一个关联数组式的对象,它的内部由属性组成,一个属性对应的值可能是一个数、字符串、日期、数组,甚至是一个嵌套的文档...,后面我们会学习如何创建文档插入内容。 在MongoDB,多个Document可以组成Collection(以下简称集合),多个集合又可以组成数据库。...文档 —— 是MongoDB的核心概念,是键值对的一个有序集,在JavaScript里文档被表示成对象。同时它也是MongoDB数据的基本单元,非常类似于关系型数据库管理系统的行,但更具表现力。...集合 —— 由一组文档组成,如果将MongoDB一个文档比喻成关系型数据库的一行,那么一个集合就相当于一张表。...如果我们要通过Mongoose去创建一个集合”并对其进行增删改查,该怎么实现呢,这里我们就要先了解Schema(数据属性模型)、Model、Entity了。 好,下面就开始去深入了解它们吧!

5.8K41

Mongoose 实现关联查询和踩坑记录

内嵌是把相关联的数据保存在同一个文档内,我们可以用对象或数组的形式来存储,这样好处是我们可以在一个单一操作内完成,可以发送较少的请求数据库服务端,但是这种内嵌类型也是一种冗余的数据模型,会造成数据的重复...图片来源:mongoing[1] 引用模型示例 JSON 模型 我们通过作者和书籍的关系,一个作者对应多个书籍这样一个简单的示例来学习如何在 MongoDB 实现关联非 _id 查询。...$lookup.foreignFiled: 被 Join 的集合的字段,本示例是 Books 表的 bookId 字段。 $as: 别名,关联查询返回的这个结果起一个新的名称。...并且在 populate 方法里无法更改的,但是在 Mongoose 4.5.0 之后增加了虚拟值填充[3],以便实现文档更复杂的一些关系。...在我们本节示例 Authors 集合会关联 Books 集合,那么我们就需要在 Authors 集合定义 virtual, 下面的一些参数和 $lookup 是一样的,个别参数做下介绍: ref:

26.4K20

MongoDB数据库基本操作

const course = new Course({ name: 'node.js基础', author: '一客', isPublished: true }); //将文档插入数据库..., hobbies: [String] }); // 使用规则创建集合 const User = mongoose.model('User', userSchema); // 查询用户集合的所有文档...'}).then(result => console.log(result)) // findOne方法返回一条文档 默认返回当前集合的第一条文档 // User.findOne({name: '李四...40}}).then(result => console.log(result)) // 查询用户集合hobbies字段值包含足球的文档 // User.find({hobbies: {$in: [...)) 更新修改文档 updateOne 单个 如果更新条件匹配多个默认只更新第一个 updateMany 多个 第一个条件为空 默认更新所有 // 引入mongoose第三方模块 用来操作数据库 const

4.2K10

Mongoose 插件记录Node.js API日志

那么如何创建一个 Mongoose 插件,以更清洁的方式为你进行记录并简化 API 日志? Mongoose 的插件是什么? 在 Mongoose ,模式是可插入的。...isEqual:此方法支持比较数组、数组缓冲区、布尔值、日期对象、错误对象、映射、数字、对象、正则表达式、集合、字符串、符号和类型化数组。...步骤3:创建一个插件用来 diff 并将其保存到数据库 现在我们需要跟踪数据库的前一个 document 并在保存到 mongodb 之前创建一个 diff。...this.isNew():如果你正在创建新文档,那么只需返回 next()中间件。 在 schema.post('init') 的 toObject(): doc....步骤4:用法 - 如何在express.js API中使用 在你的主server.js或app.js: 初始化全局 plugin 【https://mongoosejs.com/docs/plugins.html

2.7K40

持久化储存(二)

命令行操作 基本测试指令 // helloworld.js // 查询所有数db据库 show dbs // 切换/创建数据库,当创建一个集合(table)的时候会自动创建当前数据库 use test...// 对fruits表插入一条数据 db.fruits.save({name:'苹果',price:5}) // 条件查询 db.fruits.find({price:5}) // 得到当前db的所有数据表集合...// $all:查询指定字段包含所有指定内容的文档 await col.find({ tags: {$all:['热带','甜'] } } // $elemMatch: 指定字段数组至少有一个元素满足所有查询规则...也需要一个odm工具来方便更好的操作。而mongoose就是i 一个良好的工具。 mongoose一个优雅的nodejs对象文档模型。它是由关系型数据库的思想去应用到非关系型数据库。..., name: String }); // 3.编译一个Model, 它对应数据库复数、小写的Collection const Model = mongoose.model

13.3K50

MongoDB

mysql数据库 -- 关系型数据库--表,字段,行 mongodb数据库 -- 非关系型数据库--集合,域,文档 mongodb的使用步骤: 1.安装 2.指定数据库的安装位置(创建一个文件夹...; //创建集合 /* * 语法:new mongoose.Schema() * 参数一:对象, 设置该集合里所需要的域 * 参数二:对象, 指定集合的名字,如果没有...,系统会自动创建一个 * */ let schema=new mongoose.Schema({ name:{type:"String",default:"无名"},...,接下来,所有的数据库的操作,增删查改全部由该模型负责 let model=mongoose.model("person",schema); //增加一条数据 model.create...2.一个数据库可以存放多张表 3.每张表都有字段(比如姓名, 年龄) 4.表中会有一个特殊的字段(主键), 用于保证数据的唯一性 MySQL的管理系统: phpMyAdmin 通过代码操作数据库

2.6K30

深入浅出mongodb(一)

我年轻时注意,我每做十件事有九件不成功,于是我就十倍地去努力干下去。...,将数据存储为一个文档,数据结构由键值(key=>value)对组成。...2.4 Schema 定义 Schema 来说其实是用来定义文档的基本字段和集合,也可以理解为表结构的定义。Schema 是与数据无关的 并不能直接操作数据库。...:'user'}) 在 mongoose ,提供了 Schema 的类,我们可以在实例化的时候先定义mongoose.Schema,以免后续总是要出现丑陋的new mongoose.Schema()。...第二种写法是返回promise 上述定义 model 的方法是通过 model 类创建的,还有一种创建 model 的方法是通过实例创建,这个创建出来的是一个操作对象,代表是一个单个文档只能操作自己。

3.9K10

数据库使用

1.数据库相关概念 在一个数据库软件可以包含多个数据仓库,在每个数据仓库可以包含多个数据集合,每个 数据集合可以包含多条文档(具体的数据)。...术语 解释说明 database 数据库,mongoDB数据库软件可以建立多个数据库 collection 集合,一组数据的集合,可以理解为JavaScript的数组 document 文档,一条具体的数据...,可以理解为JavaScript的对象 field 字段,文档的属性名称,可以理解为JavaScript的对象属性 2....Mongoose第3三方包 使用Nodejs操作MongoDB数据库需要依赖Node.js第 三方包mongoose 使用npm install mongoose命令下载 3.启动MongoDB...则继续添加{ useUnifiedTopology: true },用逗号隔开 // 引入第三方模块mongoose const mongoose = require('mongoose'); // 1

2.3K10

Nodejs学习笔记(十四)— Mongoose介绍和入门

连接字符串   创建一个db.js var mongoose = require('mongoose'), DB_URL = 'mongodb://localhost:27017/mongoosesample...会映射到mongodb一个collection,它不具备操作数据库的能力   我们先改造一下db.js,导出mongoose对象   var mongoose = require('mongoose...= mongoose;   下面我们定义一个user的Schema,命名为user.js /** * 用户信息 */ var mongoose = require('....范围查询,矩形范围(基于LBS)   $center       范围醒询,圆形范围(基于LBS)   $centerSphere  范围查询,球形范围(基于LBS)   $slice    查询字段集合的元素...(比如从第几个之后,第N第M个元素)   可能还有一些,没什么印象,大家自行看看api ^_^!

2.6K60
领券