Mongoose与bluebird结合使用实例】的更多相关文章

nodejs的所有调用几乎是全异步的,而所有的IO操作也都是通过回调函数才能知道结果. 如果一个异步调用依赖另一个异步调用,如果没有Promise的话,有可能陷入传说中的回调地狱. bluebird实现了将异步回调写法转变为链式写法,并且扩展出了catch.finally.bind等api,如catch可以帮我们集中处理每次查询的error. 网上找到的有关promise和bluebird的资料基本都是讲原理和理论,本文介绍的是bluebird实际使用例子.实操中,我们只用将需要使用链式的类和方…
继上一篇设置mongodb副本集之后,开始使用nodejs访问mongodb副本集: 1:创建项目     express 项目名称 2:npm install mongoose    安装mongoose包 3:mongoose连接数据库配置 var mongoose = require('mongoose'); mongoose.Promise = Promise; // Promise.promisifyAll(mongoose); var uri = 'mongodb://172.16.…
mongoose多条件模糊查询 这是今天手头项目中遇到的一个问题,关于mongoose如何实现类似于SQL中 nick LIKE '%keyword%' or email LIKE '%keyword%' 这种多条件模糊搜索的问题. 查阅了mongoose文档才得以实现,特此记录一下. mongodb文档 mongoose文档 主要用到了query.$or和query.$regex这两个find参数. 其中query.$or用于实现多条件查询,其值是一个数组.相关文档 示例代码: query.o…
嘛.... 最近由于需要使用HTTP服务端,原先是使用的Qt框架实现的HTTP服务端,然后发现有些缺陷导致我不得不放弃这个框架,也不是完全放弃,只是HTTP服务端这里不再使用Qt,用Qt做高并发真的有点不好. 然后毅然的选择了mongoose这个框架,主要是听说这玩意 嵌入到代码中非常方便.下载之后发现果然就一个 h文件和cpp文件.. 于是开始研究这个框架,根据mongoose 用户手册再加上一堆实例教程,基本上写了一个类 进行操作封装(并不是完全的封装了) MoHttp.h文件主要是实现mo…
node 通过mongoose实现 mongodb的增删改   新建文件test.js 内容如下:   var mongoose = require('mongoose') , Schema = mongoose.Schema; mongoose.connect('mongodb://localhost/test'); var BlogSchema = new Schema({ id : {type : Number, index : true} ,title : {type : String}…
新建文件 app.js 内容如下: var mongoose = require('mongoose') , Schema = mongoose.Schema; mongoose.connect('mongodb://localhost/test'); 1.定义schema,也就是传统意义的表结构 var BlogSchema = new Schema({ user_id        : {type : Number, index : true} ,username       : {type…
名词解释 Schema: 一种以文件形式存储的数据库模型骨架,不具备数据库的操作能力 Model: 由Schema编译而成的假想(fancy)构造器,具有抽象属性和行为.Model的每一个实例(instance)就是一个document.document可以保存到数据库和从数据库返回. Instance: 由Model创建的实例. 概念解析 SQL术语/概念 MongoDB术语/概念 解释/说明 rdatabase database   table collection 数据库表/集合 row…
Mongoose是在node.js环境下对mongodb进行便捷操作的对象模型工具 因此,要使用mongoose,则必须安装node.js环境以及mongodb数据库.mongoose使mongodb操作更简单便捷.可以在github中获得其源码,也可以在这里查看api文档,英文的,文档内容较多,因此本文特意总结下mongoose的schema数据模型定义以及简单的增删改查api. connect connect 用于创建数据库连接 mongoose.connect(uri(s), [optio…
嘛.... 注意:这里是使用mongoose实现HTTP服务,非数据库使用. 最近由于需要使用HTTP服务端,原先是使用的Qt框架实现的HTTP服务端,然后发现有些缺陷导致我不得不放弃这个框架,也不是完全放弃,只是HTTP服务端这里不再使用Qt,用Qt做高并发真的有点不好. 然后毅然的选择了mongoose这个框架,主要是听说这玩意 嵌入到代码中非常方便.下载之后发现果然就一个 h文件和cpp文件.. 于是开始研究这个框架,根据mongoose 用户手册再加上一堆实例教程,基本上写了一个类 进行…
一.一个牛逼闪闪的知识点Promise npm install bluebird 二.Promise实例 ball.html <!doctype> <!DOCTYPE html> <html> <head> <title>Promise animation</title> <style> .ball { width: 40px; height: 40px; border-radius: 20px; } .ball1 { b…