1

エントリは次のように作成されます。

Nodes.insert({name : node1, conf :{flag1: true, flag2: true } });

サブアレイからflag1を更新したくありません。これは私のコードです:

Nodes.update(Session.get("node"), {$set:   {conf :{ flag1 : false }}});

スニペットを呼び出すと、flag2が配列から削除されます。私はおそらくその部分を更新の概念に追加できることを知っています-しかし、サブアレイconfには多くのエントリがあり、これは少し退屈になる可能性があります... フラグの順序も変更できます。このための魔法のポーションはありますか?mongodbドキュメントはこれについてあまり明確ではありません。conf。$ドット表記はエラーをスローします。お時間をいただきありがとうございます。

4

1 に答える 1

3

を使用する必要があります$set conf.flag1。このような:

Nodes.update(Session.get("node"), {$set:   {"conf.flag1" : false}});

$位置演算子は、配列にのみ使用されます。サブドキュメントには、標準のドット表記が使用されます。

于 2012-12-25T20:18:24.280 に答える