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

现在的数据结构是这样的

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) {


            });

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

怪我咯
怪我咯

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

全員に返信(1)
大家讲道理

実際には、ネストされたクエリやネストされた変更などを考えるのは複雑です。レイヤーごとにノードを見つける場合、効率はあまり高くありません。
率直に言えば、ドキュメント データベースは、ネストがどれほど深くても、常に json のような形式の文字列です。
最も速くて直接的な方法は次のとおりです:

リーリー

プログラムが変更されていないことを確認してください。まず結果を検索し、ナレッジの名前のみを変更してから更新します。
データベース操作がぎこちなく、面倒で、非効率であると感じた場合は、データベースの構造設計を改善できるかどうかを振り返って、これがリレーショナル データベースと非リレーショナル データベースの両方に当てはまるかどうかを検討する必要があります。 http://www.cnblogs.com/mokafamily/p/4102829.html、この記事の「1. 正規化と非正規化」セクションをご覧ください

いいねを押す +0
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート