跳到主要内容
CNode

MongoDB有没有Promise风格的驱动程序?

问答
Zzhanzhenzhen发布于 9 年前最后回复 9 年前
2391380

回调好麻烦,嵌套好丑。

查看回复

回复 (23)

J
jaychenjun#239 年前

@nswbmw 您好,请问使用mongolass.model('User', {...}).findOne({...}).addCreatedAt().exec()返回的是一个promise对象吗?

A
andyhu#229 年前

@nswbmw 好像也有坑,camojs目前支持mongodb和nedb,不过维护不是很积极

A
andyhu#219 年前

@nswbmw Mongolass 支持 nedb 或者 lokijs 这种类 mongo 的内存数据库吗?

A
AnzerWall#209 年前
引用 zhanzhenzhen@AnzerWall 谢谢!我居然没注意,一直认为MongoDB原生驱动不支持Promise,原来它是如果没有callback就返回Promise,这个构思有点奇特。

@zhanzhenzhen 这??? 你再去看一眼mongoose的api,他也是这样的。。。 你这文档看得太马虎了吧

Z
zhanzhenzhen#199 年前

@AnzerWall 谢谢!我居然没注意,一直认为MongoDB原生驱动不支持Promise,原来它是如果没有callback就返回Promise,这个构思有点奇特。

Z
zhanzhenzhen#189 年前

@splub 是的,不过我是开玩笑的啦

S
splub#179 年前

我在知乎看见过你,wn那个?

来自酷炫的 CNodeMD

M
maicss#169 年前

为啥不一句话,bluebird,promisifyAll?

C
cnlile#159 年前

其实,我们很多时候还是需要callback的,callback 也可以写的很好看。。。反而觉得promise 有时候破坏了逻辑关系。 我很不喜欢直接就给promise的方式,灵活度不够了,如果需要,自己包一下就是了,又不是什么事情。

Z
zhanzhenzhen#139 年前

好吧,看来还是mongoose比较好。 @AnzerWall 原生驱动不支持promise的吧,mongoose好像不是原生驱动。

A
AnzerWall#129 年前

原生驱动不就是支持promise??

await User.findOne().toArray()

C
coolcao#119 年前

原生驱动不就是支持吗

D
DevinXian#109 年前
引用 zxj963577494我用的mongoose+bluebird https://github.com/zxj963577494/node snimay

@zxj963577494 只要你nodejs版本给力,都不用bluebird了

Z
zxj963577494#99 年前
N
nullcc#89 年前

const mongoose = require('mongoose'); mongoose.Promise = global.Promise;

L
LukerSpringtree#79 年前

@zhanzhenzhen 推荐 @nswbmw 的 mongolass

J
jiangzhuo#69 年前

https://mongodb.github.io/node-mongodb-native/ 官方驱动不就是,难道我用了假的官方驱动?

S
Smallpath#59 年前

mpromise没reject,尴尬

W
wlpeter#49 年前

mongoose就支持的呀 From Noder

Z
zhanzhenzhen#29 年前

@maicss 没注意到,谢谢。不过我还是不想用co,希望能够原生提供Promise就好了。

M
maicss#19 年前

官网的co不行么?还是没发现?

参与回复

登录后即可参与回复。登录