MongoDB
 sql >> Teknologi Basis Data >  >> NoSQL >> MongoDB

Menggunakan $graphLookup untuk melintasi struktur data bersarang di MongoDB

Saya tidak tahu apakah Anda masih mencari jawaban untuk ini, tetapi jika Anda menggunakan luwak, Anda dapat memanfaatkan isi fitur dan gunakan sebagai middleware

Berikut ini contohnya:Katakanlah saya ingin daftar orang dan teman mereka, dan teman-teman mereka, dll. Hasilnya akan terlihat seperti ini:

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

Di db mereka disimpan seperti ini

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

Skema dan middleware Anda adalah:

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()
})

Menambahkan fungsi sebagai middleware ke find akan membuatnya berjalan untuk setiap orang yang ditemukan. Itu termasuk anak-anak di friends larik.




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Cara mencari di array objek di mongodb

  2. Hitung nilai lewati untuk catatan yang diberikan untuk paging yang diurutkan

  3. Bagaimana cara membuat indeks bersarang di MongoDB?

  4. bagaimana cara meneruskan variabel $tid, $id ke fungsi mentah?

  5. Basis Data NoSQL