Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> MongoDB

MongoDB में Subdocument Array से Records Fetch करना (ID 234 से शुरू)

Subdocument array से records fetch करने के लिए $unwind के साथ $push का उपयोग करें। IDs जो 234 से शुरू होते हैं, उनके लिए MongoDB में regex का उपयोग करें।

Collection बनाना

> db.demo556.insertOne(
... {
...   _id:101,
...   details:[
...     { id:"234336", Name:"Chris" },
...     { id:"123456", Name:"Bob" },
...     { id:"234987", Name:"Carol" },
...     { id:"989768", Name:"David" },
...     { id:"234888", Name:"Sam" },
...     { id:"847656", Name:"John" }
...   ]
... }
... );
{ "acknowledged" : true, "insertedId" : 101 }

सभी Documents Display करना

> db.demo556.find();

Output:

{ "_id" : 101, "details" : [ { "id" : "234336", "Name" : "Chris" }, { "id" : "123456", "Name" : "Bob" }, { "id" : "234987", "Name" : "Carol" }, { "id" : "989768", "Name" : "David" }, { "id" : "234888", "Name" : "Sam" }, { "id" : "847656", "Name" : "John" } ] }

Subdocument Array से Records Fetch करने का Query

> db.demo556.aggregate({
...   $match: { "_id": 101 }
... }, {
...   $unwind: "$details"
... }, {
...   $match: {
...     "details.id": { $regex: /^234/ }
...   }
... }, {
...   $group: {
...     _id: "$_id",
...     "Detail": { $push: "$details" }
...   }
... }).pretty();

Output:

{
  "_id" : 101,
  "Detail" : [
    { "id" : "234336", "Name" : "Chris" },
    { "id" : "234987", "Name" : "Carol" },
    { "id" : "234888", "Name" : "Sam" }
  ]
}

व्याख्या: $unwind array को deconstruct करता है, $match में $regex: /^234/ से "234" से शुरू होने वाले IDs filter किए, फिर $group में $push से filtered results को वापस array में combine किया।

  1. - MongoDB में ऐरे में पुश नहीं कर सकते?

    MongoDB में ऐरे में पुश करने के लिए $push ऑपरेटर का उपयोग करें। आइए दस्तावेज़ों के साथ एक संग्रह बनाएं: > db.demo445.insertOne({"ListOfFriends":["Robert","Mike","Sam","Carol","David","Mike"]}); {    "acknowledge

  1. - MongoDB में Subdocument को Document से Remove करना

    Document से subdocument remove करने के लिए $pull operator का उपयोग update() के साथ करें। आइए पहले documents के साथ एक collection बनाते हैं: > db.demo538.insertOne( ... { ... id:101, ... details : ... { ... anotherDetails: ... [ ... { ... Name:Chris, ... Age:21

  1. - MongoDB में सरणी क्वेरी करके विशिष्ट मान प्राप्त करें

    सरणी से विशिष्ट मान प्राप्त करने के लिए aggregate() के साथ $project का उपयोग करें। आइए एक कलेक्शन बनाते हैं: > db.demo761.insertOne( { details: [ { student: { FullName: Chris Brown } } ] } ); { acknowledged : true, insertedId : ObjectId(5eb034d15637cd592b2a4af1) } > db.demo761.insertOne( { de