node18---Mongoose】的更多相关文章

Mongoose库简而言之就是在node环境中操作MongoDB数据库的一种便捷的封装,一种对象模型工具,类似ORM,Mongoose将数据库中的数据转换为JavaScript对象以供你在应用中使用. 当然要使用的话,必须要先安装好环境Node.js与MongoDB => MongoDB安装 MongoDB是目前最流行的noSQL数据库之一,它是专为node.js而开发的,理解下与我们常用的RDBMS关系型数据库的区别就可以基本使用了 MongoDB中有三个基本的概念区别于RDBMS 数据库:数…
Topic.aggregate( //{$match:{_id:"5576b59e192868d01f75486c"}}, //not work //{$match:{title:"test"}}, //{$match:{_id:new mongoose.schema.Types.ObjectId(id)}}, //not work {$match:{_id:new mongoose.Types.ObjectId(id)}}, ... function(err,re…
MongoDB的基本使用 MongoDB特点: 使用BSON存储数据 支持相对丰富的查询操作(相对其他nosql数据库) 支持索引 副本集(支持多个实例/多个服务器运行同个数据库) 分片(数据库水平扩展) 无模式(同个数据文档中的数据可以不一样) 部署简单方便(默认无密码,也带来安全问题) 服务的启动: mongod (此前需要安装了mongo数据库,并创建过mongodb的目录:$ mkdir -p /data/db) 启动mongodb后,可以使用mongo命令行来操作数据库,或使用Robo…
var mongoose = require('mongoose') mongoose.connect('mongodb://localhost:27017/hometown'); var db = mongoose.connection; db.on('error', console.error.bind(console, 'connection error:')); db.once('open', function (callback) { console.log('db service c…
第三方学习地址:http://blog.csdn.net/foruok/article/details/47746057 下载mongoDB https://www.mongodb.com/download-center 或者 https://fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-3.2.9-signed.msi 下载后默认是在:C:\Program Files\MongoDB\Server\3.2\bin 进入bi…
继续开扒我们的MEAN栈开发之路,前面两节我们学习了Express.Jade引擎并创建了几个静态页面,最后通过Heroku部署了应用. Nodejs之MEAN栈开发(一)---- 路由与控制器 Nodejs之MEAN栈开发(二)----视图与模型 这一节将重点介绍MongoDB以及它的ODM(Object-Document Modeler)Mongoose.MongoDB是一种分布式文档存储型数据库,和平时使用的关系型数据库不同,它存储的是BSON格式(json的二进制),特点是高性能.易部署,…
在Node.js中使用MongoDB少不了Mongoose. 假设有如下Mongoose Schemas的定义: var ItemSchema = new mongoose.Schema({ biz: String, name: String, tradeType: String, totalFee: Number, transactionId: String, createTime: { type: Date, default: Date.now }, updateTime: { type:…
前言 看完了Node.js实战,其中在数据存储部分提到了Redis.Mongodb,我自己也根据书中的介绍写了几个简单的demo,在demo的过程首先遇到的问题就是数据类型和常见的CURD写法. mongodb的常见操作有两种方式,一个是直接使用API,也就相当于你在SQL Server客户端中使用T-SQL编写SQL语句来操作数据一样,其次就是在程序中使用mongoose驱动来操作数据,相当于我们在程序里用ADO.NET或EF来操作数据,如果你已经写了几个调用API的demo,那么我建议再回过…
目录 1.准备工作. 2.配置Mongoose. 3.创建目录及文件. 4.插入数据,POST提交JSON增加一条记录. 5.查询数据,取出你插入数据库的记录. 一.准备工作 使用Express4创建项目,ejs作为视图引擎. 二.配置Mongoose 1.安装Mongoose类库:npm install mongoose --save. 2.创建models文件夹,在models文件夹下新建mongodb.js文件. var mongoose=require('mongoose'); mong…
Mongoose是一个文档对象模型(ODM)库,为MongoDB Node.js原生驱动程序提供更多的功能. 把结构化的模式应用到一个MongoDB集合,提供了验证和类型转换的好处 Mongoose通过实现构建器对象,把其他命令灌入:查找,更新,保存,删除,聚合和其他数据库操作 新的对象以及在Node.js应用中实现MongooDB新途径. 好处: 可以为为党创建一个模式结构 可以对模型中的对象/文档进行验证 应用程序数据可以通过类型强制转换成对象模型 可以使用中间件应用业务逻辑挂钩…
mongoose.connection.db.collectionNames方法已经无效 建议使用mongoose.connection.db.listCollections()…
方法比较简单,也比较粗糙和丑陋,就是通过构造函数来访问静态方法,大致如下: 123456789 WorkSpaceSchema.methods.getPrice = function(startTime, endTime){ // ... var result = days * Math.floor(this.constructor.getPricePerDay(this.discountPrice || this.price, this.priceType)); // ...}; WorkSp…
这两天折腾mongoose,发现数据成功写入集合了,但是在Terminal查询的时候却查不到 于是show collections后发现在原来的集合底下,又生成了一个加了s的集合,shenmegui 查了一下,发现是mongoose.model()的问题 Mongoose#model(name, [schema], [collection], [skipInit]) 在官方的api文档里面有解释(我不听) When no collection argument is passed, Mongoo…
简介 mongoose是node.js的一个操作mongodb的模块,比起之前mongodb模块,只需要在开始时连接,不需要手动关闭,十分方便. 连接mongodb 首先你需要安装mongodb.有了mongodb,你需要引入mongoose模块. require('mongoose'); 然后取连接mongodb mongoose.connect('mongodb://localhost/myapp');//location是数据库地址,myapp为db名字 //mongoose.connec…
#名词解释: Schema 一种以文件形式存储的数据库模型骨架,不具备对数据库操作的能力 Model 由Schema生成的模型,具有抽象属性和行为,能够操作数据库 Entity 由Model创建的实体,可以操作数据库 Schema . Model . Entity的关系:Schema生成Model,Model创建Entity:Model和Entity都可以操作数据库,但Model比Entity更具操作性. #getting start(起飞) 下载mongoose包: npm install m…
假设有如下mongodb的schema定义: drawApply = new Schema({ salesId: { type: Schema.ObjectId, ref: 'sales' }, money: Number, status: { type: Number, default: 0 }, createTime: { type: Date, default: Date.now } }); sales = new Schema({ name: { type: String, requir…
元宵还没到,先向所有朋友拜一个晚年~~~ 文章目录: 1.组件版本号 -- --node -- --express -- --Mongoose 2.初始化项目 firstblood -- --用 express 自动初始化(推荐) -- --附:手动初始化 package.json 3.关于 express 的 app.js 4.前端模板 Handlebars Ejs Jade -- --以 Ejs 模板为例 -- --体验一把: route 路由是如何工作的 5.CSS.JS框架支持 -- -…
(-。-;), 周末过得真是快啊,  很久以前就看到imooc上有个搭建个人电影网站一期 ,二期的视频, 这两周宅家里撸玩没事干, 我也学着搭了一个, 这些东西都是基础, 只要花点时间很好学的, nodeJS这东东就是轻量级, 哪里不爽点哪里. 如果你学着写完可以学到: express新建项目 express自带的jade模板引擎的使用 express的路由管理 express中的权限管理 express如何与mongoose结合, 以及mongoose中的schema和model的使用方法,…
1. 安装Mongoose npm install mongoose 2. 使用 2.1 创建连接 var mongoose = require('mongoose'); mongoose.connect('mongodb://localhost/test'); 2.2 获取数据库的一些通知信息 var db = mongoose.connection; db.on('error', console.error.bind(console, 'connection error:')); db.on…
原文摘自我的前端博客,欢迎大家来访问 http://www.hacke2.cn 像我这篇文章所说的基于Node.js + jade + Mongoose 模仿gokk.tv,当时停止开发是因为我深深的感觉到当时想错了,应该用两个Schema,而不是一个下面又有数组来存,这样取数据是方便,当时分页相当麻烦,不能使用原生提供的limit方法. 今天看到一本书上有讲,尝试了一把,记录下来 我们实验的场景为一个班级有N多学生,先通过学生ID找到班级名称(是不是被玩腻了?) 先来将Schema定义好 Cl…
定义schema 用mongoose的第一件事情就应该是定义schema. schema是什么呢? 它类似于关系数据库的表结构. var mongoose = require('mongoose'); var schema = mongoose.Schema; var blogSchema = new Schema({ titile: String, body: String, comments: [{body: String, date: Date}], date: {type: Date,…
MongoDB没有join, 但是有的时候我们需要引用其它collection的documents, 这个时候就需要populate了. 我们可以populate单个document, 多个document, plain object, multiple plain objects或query返回的全部object. var mongoose = require('mongoose'); var Schema = mongoose.Schema; var personSchema = new S…
使用mongoose.connect()方法创建连接 mongoose.conect('mongodb://localhost/myapp'); 上面的代码是通过默认端口27017链接到mongodb的myapp数据库.我们还可以给url设定一些特定的参数: mongoose.conect('mongodb://username:pws@host:port/databasename?options...'); Options connect方法可以接受一个options对象 mongoose.c…
开始前记住下面几点 Validation定义在SchemaType中 Validation是一个内部的中间件 当document要save前会发生验证 验证不会发生在空值上 除非对应的字段加上了 required validator 可以自定义验证器 内置的验证器 所有的SchemaType都有required验证器 Number有min和max验证器 String有enum和match验证器 自定义验证器 //确保值是something function validator(val){ ret…
查询有带callback和不带callback两种方式 所有mongoose的callback都是这种格式: callback(err, result) var Person = mongoose.model('Person', yourSchema); Person.findOne({'name.last':'Ghost'}, 'name occupation', function(err, person){ if(err) return handleError(err); console.l…
编译你的第一个model var xxSchema = new Schema({name: 'string', size: 'string'}); var Tank = mongoose.model('Tank', schema); 构造document document是model的实例. 创建更新document到数据很容易 var Tank = mongoose.model('Tank', tankSchema); var small = new Tank({size:'small'});…
今天我们将学习Mongoose,什么是Mongoose呢,它于MongoDB又是什么关系呢,它可以用来做什么呢? MongoDB是一个开源的NoSQL数据库,相比MySQL那样的关系型数据库,它更显得轻巧.灵活,非常适合在数据规模很大.事务性不强的场合下使用.同时它也是一个对象数据库,没有表.行等概念,也没有固定的模式和结构,所有的数据以文档的形式存储(文档,就是一个关联数组式的对象,它的内部由属性组成,一个属性对应的值可能是一个数.字符串.日期.数组,甚至是一个嵌套的文档.),数据格式就是JS…
Mongoose学习参考文档 前言:本学习参考文档仅供参考,如有问题,师请雅正 一.快速通道 1.1 名词解释 Schema : 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力 Model : 由Schema发布生成的模型,具有抽象属性和行为的数据库操作对 Entity : 由Model创建的实体,他的操作也会影响数据库 注意: 1.本学习文档采用严格命名方式来区别不同对象,例如: var PersonSchema; //Person的文本属性 var PersonModel; //…
1.1 名词解释 Schema : 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力 Model : 由Schema发布生成的模型,具有抽象属性和行为的数据库操作对 Entity : 由Model创建的实体,他的操作也会影响数据库 注意: 1.本学习文档采用严格命名方式来区别不同对象,例如: var PersonSchema; //Person的文本属性 var PersonModel; //Person的数据库模型 var PersonEntity; //Person实体 2.Sch…
由于想在mongoose中使用Q,所以将mongoose升级到了4.1.0,而线上mongoDB的版本是2.6.7,升级的时候,node-modules存在mongoose的残渣,所以调用 npm i 的时候,mongoose没有更新完全, 因此线上就报了 BSON.BSONPure is not a function 错误,只需要删除node_modules包,重新 npm i 就可以解决了.…