2016-08-21 6 views
0

私はAPI作成の初心者です。 Iamがmongodbへのエントリを作成しようとしています。データベース接続は即座に行われます。私はmongo DBにデータを入力するための以下のコードを書いています。モデルをmongoデータベースに追加します。

しかし、データベースが更新されていないということは、私はエラーが何かを見つけることができません。これは、郵便配達員を使ってデータベースにデータを入れようとしている間に得られる出力です。

db connection established to medicoshere database 
    { dob: '2016-08-21T02:37:11.969Z', 
     gender: 'male', 
     user_name: 'ria nivas' } 
    Mongoose: mpromise (mongoose's default promise library) is deprecated, plug in  your own promise library instead: http://mongoosejs.com/docs/promises.html 
    [Error: document must have an _id before saving] 
    user: { user_name: 'ria nivas', 
     dob: Sun Aug 21 2016 08:07:11 GMT+0530 (IST), 
     gender: 'male' } 
    POST /register 200 67.420 ms - 74 

しかし、私は何も内容が出力の私のdb.The最初の行に更新されていない参照

app.db.once('open', function() { 
    console.log('db connection established to medicoshere database '); 

を使用してログインしている私は自分のデータベースを更新するために必要な何かがあります。おかげさまで

+1

あなたのモデルで_idを宣言する必要はないと思います。追加する場合は、自分で生成する必要があります。これをチェックアウト:http://stackoverflow.com/questions/25345274/mongoose-data-saving-without-id – kakashi

+0

ありがとうそれは働いた.....私はもう一つの質問が....どのようにこの警告を避けるために.. Mongoose:mpromise(mongooseのデフォルト約束ライブラリ)は推奨されていませんが、代わりにあなたの約束ライブラリをプラグインしてください:http://mongoosejs.com/docs/promises.html –

+1

@Aronの言及方法を使うことができます。 'mongoose.Promise = global.Promise'で十分です。 – kakashi

答えて

0

Mongoose: mpromiseなどのエラーが発生しているので、最近のバージョンのNodeJSを使用していると想定しています。つまり、ES2015ネイティブプロミスを使用できます。したがって、MongoDB Promisesエラーを取り除くには、単純にMongoの約束を元のものと置き換えることができます。これを行うには

はどこかrequire('mongoose')mongoose.connect(MongoURI)の間に次のコード行を置く:

mongoose.Promise = global.Promise; 

これを単にモンゴに建てられたが、ネイティブの約束でライブラリを約束して、エラーを取り除く必要がある再割り当てします。

関連する問題