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

मोंगोडब में अनुक्रम संख्या को सुरक्षित रूप से कैसे अपडेट करें

इसे परमाणु रूप से करने के लिए, आपके सभी तीन नमूना दस्तावेज़ों को एक ही दस्तावेज़ का हिस्सा होना चाहिए। MongoDB केवल साधारण दस्तावेज़ों पर परमाणु रूप से संचालन करता है:http://www.mongodb.org/ डिस्प्ले/डीओसीएस/परमाणु+ऑपरेशंस

अगर वे एक ही दस्तावेज़ का हिस्सा हैं, तो निम्नलिखित दूसरे और तीसरे उप-दस्तावेज़ के क्रम को बदल देंगे:

> db.so.find().pretty();
{
    "_id" : ObjectId("4f55e7ba362e2f2a734c92f8"),
    "subs" : [
        {
            "author_id" : "a",
            "class" : "principle",
            "content_id" : null,
            "host_id" : null,
            "modified_date" : 1330935540,
            "order" : 1,
            "pub_date" : 1330935540,
            "score" : 0,
            "text" : "Hello World!",
            "vote_down_count" : 0,
            "vote_up_count" : 0
        },
        {
            "author_id" : "a",
            "class" : "principle",
            "content_id" : null,
            "host_id" : null,
            "modified_date" : 1330935538,
            "order" : 2,
            "pub_date" : 1330935538,
            "score" : 0,
            "text" : "Nice to meet you.",
            "vote_down_count" : 0,
            "vote_up_count" : 0
        },
        {
            "author_id" : "a",
            "class" : "principle",
            "content_id" : null,
            "host_id" : null,
            "modified_date" : 1330935548,
            "order" : 3,
            "pub_date" : 1330935548,
            "score" : 0,
            "text" : "Great!",
            "vote_down_count" : 0,
            "vote_up_count" : 0
        }
    ]
}

प्रश्न:

db.so.update(
    { _id: new ObjectId("4f55e7ba362e2f2a734c92f8")},
    { $set : { 'subs.1.order' : 3, 'subs.2.order' : 2 } }
);

परिणाम:

> db.so.find().pretty();
{
    "_id" : ObjectId("4f55e7ba362e2f2a734c92f8"),
    "subs" : [
        {
            "author_id" : "a",
            "class" : "principle",
            "content_id" : null,
            "host_id" : null,
            "modified_date" : 1330935540,
            "order" : 1,
            "pub_date" : 1330935540,
            "score" : 0,
            "text" : "Hello World!",
            "vote_down_count" : 0,
            "vote_up_count" : 0
        },
        {
            "author_id" : "a",
            "class" : "principle",
            "content_id" : null,
            "host_id" : null,
            "modified_date" : 1330935538,
            "order" : 3,
            "pub_date" : 1330935538,
            "score" : 0,
            "text" : "Nice to meet you.",
            "vote_down_count" : 0,
            "vote_up_count" : 0
        },
        {
            "author_id" : "a",
            "class" : "principle",
            "content_id" : null,
            "host_id" : null,
            "modified_date" : 1330935548,
            "order" : 2,
            "pub_date" : 1330935548,
            "score" : 0,
            "text" : "Great!",
            "vote_down_count" : 0,
            "vote_up_count" : 0
        }
    ]
}



  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB/Mongoose - तिथि के अनुसार वस्तुओं की एक सरणी को क्वेरी करना

  2. प्रशिक्षण विफल - एडब्ल्यूएस मशीन लर्निंग

  3. Model.findOne डॉक्स वापस नहीं कर रहा है लेकिन एक रैपर ऑब्जेक्ट लौटा रहा है

  4. वस्तुओं की सरणी के साथ लुकअप

  5. मोंगोडब एम्बेडेड संग्रह में आइटमों की क्वेरी रिटर्निंग गिनती