2016-09-16 25 views
0

私はExpressJSでmongodbとmongooseを初めて使用しています。それは簡単な質問かもしれませんが、私は成功しません。マングースコレクションデータがある場合はそれ以外の場合はアップデート

var BookCounter = new Schema({ 
    counter: {type: Number,}, 
    book: {type: String, min: 18} 
}); 

これは私のスキーマであり、次は私の質問です:

私はXYZの一覧を確認したい本が

存在する場合

存在かではありません

それから、本のカウンターを1つ更新する必要があります。

そう

私は新しい本を挿入する必要があります。

あなたはあなたはそれが存在していない場合は、文書を作成するためのオプションupsertを使用して、更新操作findOneAndUpdate()を必要とする...事前に

感謝:)

答えて

1

私を助けてくださいnewオプションをtrueに設定すると、オリジナルではなく新しく作成/変更されたドキュメントが返されます。$setおよび$incフィールド更新演算子。

次の例では、このことを示しています。それが動作

var query = { "book": "xyz" }, 
    update = { "$inc": { "counter": 1 } }, 
    options = { "upsert": true, "new": true }; 

// Find the document 
Book.findOneAndUpdate(query, update, options, function(err, result) { 
    if (err) handleError(err);  
    else { 
     // do something with the document 
     console.log(JSON.stringify(result, null, 4)); 
    } 
}); 
+1

感謝を:) – VRK

関連する問題