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

MongoDB में मौजूदा मान कैसे बढ़ाएं

मोंगोडीबी 3.6 के अनुसार:

db.collection.update(query, update, options)

इसका मतलब यह है कि आप अपडेट का उपयोग करके कई दस्तावेज़ों को ऊपर कर सकते हैं।

सबसे पहले आपको अपने मानचित्र से ऐसी सरणी बनानी चाहिए जिसमें केवल मान हो।

const arrayOfValues = ['value_01', 'values_02'];

फिर आपको अप्सर्ट + मल्टी ऑप्शन को अपडेट मेथड पर इस्तेमाल करना चाहिए:

db.foo.update({value: { $in: arrayOfValues}}, {$inc: {count:1}}, { upsert: true, multi: true });

टेस्ट आउटपुट:

> db.createCollection("test");
{ "ok" : 1 }
> db.test.insertMany([{value: "a"}, {value: "b"}, {value: "c"}];
... );
2017-12-31T12:12:18.040+0200 E QUERY    [thread1] SyntaxError: missing ) after argument list @(shell):1:61
> db.test.insertMany([{value: "a"}, {value: "b"}, {value: "c"}]);
{
    "acknowledged" : true,
    "insertedIds" : [
        ObjectId("5a48b8061b98cc5ac252e435"),
        ObjectId("5a48b8061b98cc5ac252e436"),
        ObjectId("5a48b8061b98cc5ac252e437")
    ]
}
> db.test.find();
{ "_id" : ObjectId("5a48b8061b98cc5ac252e435"), "value" : "a" }
{ "_id" : ObjectId("5a48b8061b98cc5ac252e436"), "value" : "b" }
{ "_id" : ObjectId("5a48b8061b98cc5ac252e437"), "value" : "c" }
> db.test.update({value: { $in: ["a", "b", "c"]}}, {$inc: {count:1}}, { upsert: true, multi: true });
WriteResult({ "nMatched" : 3, "nUpserted" : 0, "nModified" : 3 })
> db.test.find();
{ "_id" : ObjectId("5a48b8061b98cc5ac252e435"), "value" : "a", "count" : 1 }
{ "_id" : ObjectId("5a48b8061b98cc5ac252e436"), "value" : "b", "count" : 1 }
{ "_id" : ObjectId("5a48b8061b98cc5ac252e437"), "value" : "c", "count" : 1 }
> db.test.update({value: { $in: ["a", "b", "c"]}}, {$inc: {count:1}}, { upsert: true, multi: true });
WriteResult({ "nMatched" : 3, "nUpserted" : 0, "nModified" : 3 })
> db.test.find();
{ "_id" : ObjectId("5a48b8061b98cc5ac252e435"), "value" : "a", "count" : 2 }
{ "_id" : ObjectId("5a48b8061b98cc5ac252e436"), "value" : "b", "count" : 2 }
{ "_id" : ObjectId("5a48b8061b98cc5ac252e437"), "value" : "c", "count" : 2 }
> db.test.update({value: { $in: ["a", "b", "c"]}}, {$inc: {count:1}}, { upsert: true, multi: true });
WriteResult({ "nMatched" : 3, "nUpserted" : 0, "nModified" : 3 })

आशा है कि यह मददगार था :)




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. मैं मोंगोडीबी को विंडोज़ सेवा के रूप में कैसे चला सकता हूं?

  2. डेटा स्रोत को स्वतः कॉन्फ़िगर करने में विफल:'spring.datasource.url' निर्दिष्ट नहीं है

  3. मोंगोडब/मोंगोज़ इंसर्ट एक फ़ंक्शन नहीं है

  4. MongoDB से HBase में माइग्रेट करना

  5. मोंगोडीबी 3 के लिए रमोंगोडब समर्थन