Iva*_*lic 13 mocha.js mongoose mongodb node.js
有一段时间我一直在收到这个错误,我今天决定修复它,但是经过一个小时试图解决它后,我可以找到解决方案.
当我测试我的mongoose用户模型时,会生成此错误/警告:
Mongoose: mpromise (mongoose's default promise library) is deprecated, plug in your own promise library instead: http://mongoosejs.com/docs/promises.html
Run Code Online (Sandbox Code Playgroud)
这是我的测试:
1 var assert = require('chai').assert;
2 var mongoose = require('mongoose');
3 var clearDB = require('mocha-mongoose')(require('../../config/database').uri, { skip: ['workouts'] });
4 var database = require('../../config/database').connect;
5
6 var User = require('../../app/models/user');
7 var user = new User({});
8
9 var req_body = {
10 username: "garyvee",
11 email: "gary@vaynermedia.com",
12 password: "secret"
13 };
14
15 describe('User', function() {
16 beforeEach(function(done) {
17 user.username = "johnsmith";
18 user.email = "john@gmail.com";
19 user.password = "secret";
20 done();
21 });
22
23 it('can be saved', function() {
24 return user.save(function(err: any) {
25 assert.isNull(err);
26 })
27 });
28 });
Run Code Online (Sandbox Code Playgroud)
我认为这与它有关,.save但我不知道如何解决它.有人可以帮助我并告诉我如何解决它,以便不显示错误/警告.
Joh*_*erz 31
你需要插入一个promise库(q,bluebird,es6 one ...)
mongoose.Promise = require('bluebird');
Run Code Online (Sandbox Code Playgroud)
ole*_*ank 14
从节点4.x你可以使用ES6承诺:
const mongoose = require('mongoose');
mongoose.Promise = Promise;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
16966 次 |
| 最近记录: |