node.js - 数据总是保存不进去
高洛峰
高洛峰 2017-04-17 15:16:40
0
5
714
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...

也没报错,但是数据就是插不进去

高洛峰
高洛峰

拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...

모든 응답(5)
Peter_Zhu

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');

추가
Ty80

데이터를 검색하거나 저장할 수 없습니다.

小葫芦

포스터 아이템은 좀 더 저렴하게 구매하세요

PHPzhong

몽구스는 더 이상 내장된 Promise를 구현하지 않으며 타사 Promise 플러그인을 직접 추가해야 한다는 메시지가 표시됩니다.
사용하는 document.save는 Promise를 반환하는 메서드일 수 있습니다
Module.create로 변경해 보세요

최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿