2016-09-02 10 views
0

私は統計情報でユーザーを見つけようとしていますが、存在しない場合は作成して情報を教えてください。mongodb/mongoose findAndModify setoninsert

起動は実行されますが、他のconsole.logsまたは応答では応答がありません。

どうすればこの問題を解決できますか?

console.log("starting"); 
var playerid = "57c435669f437e007b974fbb"; 

Crimestats.findAndModify({ query: { userid : playerid}, update: { $setOnInsert: { userid : playerid }}}).then(function(err, stats){ 
      if (err) { 
      console.log(err); 
     } 

      console.log("got any results"); 
      console.log(stats); 

      resolve(stats); 

     }); 

のみ応答は次のとおりです。

starting 
+1

使用'.catch()'または '.then'の2番目の引数を使用して、エラーの内容を確認します。 –

+0

[質問](http://stackoverflow.com/questions/7334390/has-mongoose-support-findandmodify-mongodb-method)がお手伝いできるかどうかを確認してください。 – Shrabanee

+0

私はそれを見つけることができませんでした。 –

答えて

0

あなたが存在しない場合はそうupsert: true

を追加する必要があり、インサート新しいもののためのオプションを追加する必要があり、それを試すことができます:

var playerid = "57c435669f437e007b974fbb"; 

Crimestats.findAndModify({ 
    query:{ userid : playerid}, 
    update: { 
    $set: { name: "xxx" }, // if found update name or when insert 
    $setOnInsert: { userid : playerid } 
    }, 
    upsert: true 
} 
).then(function(err, stats){ 
    if (err) { 
    console.log(err); 
    } 
    console.log("got any results"); 
    console.log(stats); 

    resolve(stats); 
}); 
関連する問題