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

MongoDB में नेस्टेड डेटा संरचना को पार करने के लिए $graphLookup का उपयोग करना

मुझे नहीं पता कि आप अभी भी इसका उत्तर ढूंढ रहे हैं या नहीं, लेकिन यदि आप नेवले का उपयोग करते हैं तो आप सुविधा को पॉप्युलेट करें और इसे मिडलवेयर के रूप में उपयोग करें

यहां एक उदाहरण दिया गया है:मान लीजिए कि मुझे लोगों और उनके दोस्तों, और उनके दोस्तों-मित्रों आदि की सूची चाहिए। परिणाम इस तरह दिखना चाहिए:

[
    {
        _id: "abc123",
        name: "John Doe",
        friends: [
            {
                _id: "efg456",
                name: "Foo bar",
                friends: [
                    {
                        _id: "hij789",
                        name: "Jane Doe",
                        friends: [more friends...]
                    }
                ]
            }
        ]
]

डीबी में वे इस तरह जमा होते हैं

{_id: "abc123", name: "John Doe", friends: ["efg456"]}
{_id: "efg456", name: "Foo bar", friends: ["hij789"]}
{_id: "hij789", name: "Jane Doe", friends: [more friends...]}

आपका स्कीमा और मिडलवेयर होगा:

const Person = new Schema<Folder>({
    name: {type: String, required: true},
    friends: [{type: Schema.Types.ObjectId, ref: "person"}],
}, {timestamps: true})

Person.pre("find", function(next) {
    this.populate("friends")
    next()
})

फ़ंक्शन को find . में मिडलवेयर के रूप में जोड़ना पाए जाने वाले प्रत्येक व्यक्ति के लिए इसे चलाएगा। इसमें friends . के बच्चे शामिल हैं सरणी।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. mongoDB में नेस्टेड वस्तु पाठ खोज

  2. नेवला के साथ खोजने के बाद उप दस्तावेज़ कैसे बदलें

  3. नेवला में उपदस्तावेजों का योग

  4. MongoDB नेस्टेड सरणी क्वेरी

  5. MongoDB चल रहा है, लेकिन शेल का उपयोग करके कनेक्ट नहीं हो सकता