MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

कैसे जांचें कि मोंगो का $addToSet डुप्लिकेट था या नहीं

कम से कम शेल में आप अंतर कर सकते हैं कि दस्तावेज़ को संशोधित किया गया था या नहीं (देखें nModified )।

> db.test4.update({_id:2}, {$addToSet: {tags: "xyz" }})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })

> db.test4.update({_id:2}, {$addToSet: {tags: "xyz" }})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 0 })

नोड के लिए अपडेट

जब आप collection.update(criteria, update[[, options], callback]); आप संशोधित किए गए रिकॉर्ड की संख्या पुनर्प्राप्त कर सकते हैं।

नोड से docs

एक और अपडेट

ऐसा लगता है कि कम से कम संस्करण 1.4.3 में मूल मोंगो नोड ड्राइवर दस्तावेज के रूप में व्यवहार नहीं कर रहा है। बल्क एपीआई (मोंगो 2.6 में पेश किया गया) का उपयोग करके काम करना संभव है:

var col = db.collection('test');
// Initialize the Ordered Batch
var batch = col.initializeOrderedBulkOp();
batch.find({a: 2}).upsert().updateOne({"$addToSet": {"tags": "newTag"}});
// Execute the operations
batch.execute(function(err, result) {
  if (err) throw err;
  console.log("nUpserted: ", result.nUpserted); 
  console.log("nInserted: ", result.nInserted); 
  console.log("nModified: ", result.nModified); // <- will tell if a value was added or not
  db.close();
});


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. pushOrModify मोंगो उप-दस्तावेज़ के लिए ऑपरेटर की तरह

  2. पाइमोंगो - ValueError:NaTType insert_many का उपयोग करते समय utcoffset का समर्थन नहीं करता है

  3. मोंगो क्वेरी - क्या संपत्ति मौजूद है?

  4. बर्ट मोंगोडब परम

  5. नोड.जेएस वातावरण में इलास्टिक्स खोज के साथ मोंगोडब का एकीकरण