回调好麻烦,嵌套好丑。
官网的co不行么?还是没发现?
@maicss 没注意到,谢谢。不过我还是不想用co
,希望能够原生提供Promise就好了。
@zhanzhenzhen mongoose就有啊mpromise支持啊,也可以自己替换的
mongoose就支持的呀 From Noder
@zhanzhenzhen 看下Mongolass,跟官方一样的api,跟Mongoose相似的用法
mpromise没reject,尴尬
https://mongodb.github.io/node-mongodb-native/ 官方驱动不就是,难道我用了假的官方驱动?
@zhanzhenzhen 推荐 @nswbmw 的 mongolass
const mongoose = require(‘mongoose’); mongoose.Promise = global.Promise;
我用的mongoose+bluebird https://github.com/zxj963577494/node-snimay
@zxj963577494 只要你nodejs版本给力,都不用bluebird了
原生驱动不就是支持吗
原生驱动不就是支持promise??
await User.findOne().toArray()
好吧,看来还是mongoose比较好。 @AnzerWall 原生驱动不支持promise的吧,mongoose好像不是原生驱动。
@zhanzhenzhen 你的原生驱动指的是node-mongodb-native??? http://mongodb.github.io/node-mongodb-native/2.2/api/MongoClient.html 看connect返回什么?
其实,我们很多时候还是需要callback的,callback 也可以写的很好看。。。反而觉得promise 有时候破坏了逻辑关系。 我很不喜欢直接就给promise的方式,灵活度不够了,如果需要,自己包一下就是了,又不是什么事情。
为啥不一句话,bluebird,promisifyAll?
我在知乎看见过你,wn那个?
来自酷炫的 CNodeMD
@splub 是的,不过我是开玩笑的啦
@AnzerWall 谢谢!我居然没注意,一直认为MongoDB原生驱动不支持Promise,原来它是如果没有callback就返回Promise,这个构思有点奇特。
@zhanzhenzhen 这??? 你再去看一眼mongoose的api,他也是这样的。。。 你这文档看得太马虎了吧
@nswbmw Mongolass 支持 nedb 或者 lokijs 这种类 mongo 的内存数据库吗?
@andyhu 不支持,你可以 fork 改改
@nswbmw 好像也有坑,camojs目前支持mongodb和nedb,不过维护不是很积极
@nswbmw 您好,请问使用mongolass.model(‘User’, {…}).findOne({…}).addCreatedAt().exec()返回的是一个promise对象吗?
@jaychenjun 是的…readme 里很清楚吧