データを保存する
const mocha = require('mocha');
const assert = require('assert');
const MarioChar = require('../models/mariochar');
describe('Some demo tests', function(){
//Create tests
it('Saves a record to the database', function(done){
var character = new MarioChar({
name: "Mario",
})
character.save().then(function(){
assert(character.isNew === false)
done();
})
})
})
character.save().then(function(){
assert(character.isNew === false)
done();
})
上記の関数はcharacter
をデータベースに保存します.character.isNew
は、オブジェクトが作成されるが、データベースに存在しないとき、true
を返します.そして、オブジェクトがデータベースにあるとき、
false
を返します.save
が非同期関数であるため、次のテストを実行するには、done
メソッドで終了したときに明示的に指示しなければなりません.2 . Mogoose自身の約束を使う代わりにES 6を使う
const mongoose = require('mongoose');
// Using ES6 promise instead mogoose's promise
mongoose.Promise = global.Promise
// Connect to mongodb
mongoose.connect('mongodb://localhost/testaroo');
mongoose.connection.once('open', function(){
...
}).on('error', function(error){
...
})
この時点で、接続が確立される前でもテストが実行されています.そのためには、
before
に接続コードを入れなければなりませんbefore(function(done){
mongoose.connect('mongodb://localhost/testaroo');
mongoose.connection.once('open', function(){
console.log('Conneciton is made');
done();
}).on('error', function(error){
console.log('Connection error', error);
})
})
また、接続が確立されたときに明示的に実行するために完了しました.Reference
この問題について(データを保存する), 我々は、より多くの情報をここで見つけました https://dev.to/rittwickbhabak/5-saving-data-to-mongodb-4e69テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol