nodejs中mongoose的save方法报错
发布于 8 年前 作者 youthfighter 5888 次浏览 来自 问答

我按照mongoose官网上的步骤,新建了model, 如下: var bookInfoSchema = new Schema({ bookName: String, author: String, updateDate: String, updateChapter: String, description: String, chapterList: [{ chapterName: String, chapterHref: String }] }); 调用save方法的时候报如下的错误Mongoose: mpromise (mongoose’s default promise library) is deprecated, plug in your own promise library instead: http://mongoosejs.com/docs/promises.html。按照给定网址上的信息尝试了一下,各种报错。 在测试中发现当chapterList中内容过多时会报以上的错误,而较少时则不会。 各位大神帮忙,万分感激。

5 回复

你的问题是mongoose版本是最新的,所以会有这个问题

解决方案如下

  • 使用mongoose@4.0.5
  • 使用最新版本,使用bluebird替换mpromise

const mongoose = require('mongoose')

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

我的mongoose是4.6版本的,我尝试的添加了mongoose.Promise = global.Promise = require(‘bluebird’);后好用了,非常感谢您的回答。

这个顶多算警告?

@captainblue2013 是的,mongodb中已经存进去了。

@i5ting

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

为什么要给global.Promise赋值?这有什么好处?

回到顶部