var mongoose = require("mongoose");
// 连接字符串格式为mongodb://主机/数据库名
mongoose.connect('mongodb://localhost/test');
var Schema = mongoose.Schema;
//骨架模版
var movieSchema = new Schema({
doctor : String,
title : String,
language : String,
country : String,
year : Number,
summary : String,
poster : String,
flash : String
})
//模型
var Movie = mongoose.model('Movie', movieSchema);
//存储数据
var movie = new Movie({
title: '黑衣人三',
doctor: '史密斯',
year: 2018,
flash: 'http://player.youku.com/player.php/sid/XNjA1Njc0NTUy/v.swf',
country: '美国',
language: '英语',
summary: '好片'
})
//保存数据库
movie.save(function(err) {
if (err) {
console.log('保存失败')
return;
}
console.log('meow');
});
控制台出现下面的提示:
Mongoose: mpromise (mongoose's default promise library) is deprecated, plug in your own promise library instead: http://mongoosejs.com/docs/pr...
也没报错,但是数据就是插不进去
1) 호스트 주소에 기본 포트 27017을 추가합니다. 즉, mongodb://localhost/test
로 변경됩니다.가 mongodb://localhost:27017/test
2) 연결을 확인하기 위해 코드를 사용하여 연결을 테스트합니다. 예를 들어, mongoose.connect() 뒤에 다음 문장을 추가하세요.
으아악3) 데이터가 어느 컬렉션에 저장되어 있는지 확인하세요. 이전에 제가 겪었던 함정은 제가 당신의 문구를 사용하면
으아악은 'Movie'라는 컬렉션을 저장하도록 지정하더라도 실제로 저장된 컬렉션은 'Movies'라는 컬렉션일 수 있도록 작성되었습니다(Mongoose는 자동으로 끝에 s를 추가합니다). ). 짜증나는 일이지만 그런 일이 일어납니다.
Mongodb SHELL의 show collections 등의 명령어를 사용하거나, RoboMongo, MongoBooster 등의 시각화 도구를 사용하여 쉽게 확인할 수 있습니다.
추가mongoose.Promise = global.Promise;
앞에
mongoose.connect('mongodb://localhost/test');
데이터를 검색하거나 저장할 수 없습니다.
포스터 아이템은 좀 더 저렴하게 구매하세요
몽구스는 더 이상 내장된 Promise를 구현하지 않으며 타사 Promise 플러그인을 직접 추가해야 한다는 메시지가 표시됩니다.
사용하는 document.save는 Promise를 반환하는 메서드일 수 있습니다
Module.create로 변경해 보세요