CNode

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

问答
Zzhanzhenzhen发布于9 年前最后回复9 年前23 回复9097 浏览0 收藏

回调好麻烦,嵌套好丑。

查看回复

回复 (23)

M
maicss#1·9 年前

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

Z
zhanzhenzhen#2·9 年前

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

W
wlpeter#4·9 年前

mongoose就支持的呀 From Noder

S
Smallpath#5·9 年前

mpromise没reject,尴尬

J
jiangzhuo#6·9 年前

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

L
LukerSpringtree#7·9 年前

@zhanzhenzhen 推荐 @nswbmw 的 mongolass

N
nullcc#8·9 年前

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

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

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

C
coolcao#11·9 年前

原生驱动不就是支持吗

A
AnzerWall#12·9 年前

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

await User.findOne().toArray()

Z
zhanzhenzhen#13·9 年前

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

C
cnlile#15·9 年前

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

M
maicss#16·9 年前

为啥不一句话,bluebird,promisifyAll?

S
splub#17·9 年前

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

来自酷炫的 CNodeMD

Z
zhanzhenzhen#18·9 年前

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

Z
zhanzhenzhen#19·9 年前

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

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

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

A
andyhu#21·9 年前

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

A
andyhu#22·9 年前

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

J
jaychenjun#23·9 年前

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

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