2016-07-04 9 views
0

を保存した後、直接削除:マングース(MongoDBのは)私は、ユーザーが保存されます<code>mongoose</code>スクリプト持っ

saveUser: function(username, password){ 
    return new Promise(function(resolve, reject){ 
     var newUser = new User({ username:username, password:password }); 
     newUser.save(function (err, msg) { 
      if (err) { 
       reject(err); 
      } else { 
       resolve('User saved.' + msg); 
      } 
     }); 
    }); 
} 

このスクリプトは動作しているようですが、それはresolve()メソッドを呼び出し、保存したユーザーを返します。

その後、私のデータベースにはレコードが表示されません。

私はこのような関数を呼び出す:私はレコードを検索しようとした、これは結果である

router.post('/', function(req, res, next) { 
    user.saveUser(req.body.username, req.body.password) 
     .then(function(msg){ 
     res.json({status: msg}); 
     }) 
     .catch(function(msg){ 
     res.json({status: msg}); 
     }) 
}); 

{ 
    "status": [ 
     { 
      "_id": "56cec8a39641c8c01bd9f5e4", 
      "username": "test", 
      "password": "test", 
      "born": "2016-02-25T09:25:55.425Z", 
      "died": "2016-02-25T09:25:55.656Z", 
      "__v": 0 
     } 
    ] 
} 

DBに関連するコードのみです。モンゴースはなぜそれを作成した直後にオブジェクトを削除するのですか?私はremove機能を実装したことはありませんか?

+1

Mongooseはオブジェクトを作成した後にオブジェクトを削除しないため、コード内で問題が発生している可能性があります。 'User'のスキーマをあなたの質問に追加することができます。また、データベース内のレコードを見つけるために使用したクエリも追加できますか? FWIW、Mongooseは、(あなた自身の '.save()'のような)非同期メソッドをラップする必要はありません(http://mongoosejs.com/docs/promises.html)、[out of the box]をサポートしています。 – robertklep

答えて

0

私は問題があなたがvar newUser = new User({ username:username, password:password });を使用していると思います。代わりに次のコマンドを使用して、ユーザーをmongooseで作成することができます。

User.create({ username:username, password:password }); 
関連する問題