嵌套文档修改 - mongodb第三级嵌套数组修改问题
怪我咯
怪我咯 2017-04-24 15:59:39
0
1
901

现在的数据结构是这样的

course:{
    name:String,
    chapter: [{ 
            name: String,
            knowledge: [{ 
                name: String,
                exam: [{ 
                    name: String, 
                }]
            }]
        }]
}

要想修改knowledge.name,修改语句该怎么写?之前在修改chapter.name时我是这样写的

Course.update({
                "chapter._id": req.body.id
            }, {
                $set: {
                    "chapter.$.name": name, //名称
                }
            })
            .exec(function(err, num) {


            });

不知道在修改第三级嵌套文档时,$定位符改怎么使用。

怪我咯
怪我咯

走同样的路,发现不同的人生

membalas semua(1)
大家讲道理

Sebenarnya, pertanyaan bersarang, pengubahsuaian bersarang, dll. Jika anda menemui nod lapisan demi lapisan, kecekapannya tidak begitu tinggi.
Pangkalan data dokumen, secara terang-terangan, sentiasa rentetan rentetan dalam format seperti json, tidak kira betapa dalam sarangnya.
Cara terpantas dan langsung adalah seperti berikut:

jsondb.term.update({"_id" : ObjectId("54c1a899eb21ac9c995d3eb2")}, {$set:{
    "_id" : ObjectId("54c1a899eb21ac9c995d3eb2"),
    "course" : {
        "name" : "String",
        "chapter" : [ 
            {
                "name" : "String",
                "knowledge" : [ 
                    {
                        "name" : "原来如此",
                        "exam" : [ 
                            {
                                "name" : "String"
                            }
                        ]
                    }
                ]
            }
        ]
    }
}})

Pastikan sahaja program anda kekal tidak berubah. Cari keputusan dahulu, ubah suai hanya nama pengetahuan, dan kemudian kemas kini.
Apabila mana-mana operasi pangkalan data berasa janggal, menyusahkan, dan tidak cekap, anda harus melihat ke belakang dan memikirkan sama ada reka bentuk struktur pangkalan data boleh diperbaiki. http://www.cnblogs.com/mokafamily/p/4102829.html, anda boleh lihat bahagian "1. Normalisasi dan nyahnormalisasi" dalam artikel ini

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan