1

私が求めているものを説明する最良の方法は、簡略化されたデモpageドキュメントから始めることです。

{
    name: "Page Name"
    blocks: {
        "top-content": 50f0ded99561a3b211000001,
        "bottom-content": 50f0ded99561a3b211000002
    }
}

top-contentこのようなマングースとの多対多の関係を定義して、やのような文字列キーで検索できるようにする方法はありbottom-contentますか?これに相当するリレーショナルは、多対多の結合テーブルに文字列を含めるようなものです。

重要:

  • 参照しているブロックは複数のページで参照される可能性があるため、埋め込みたくありません。
4

2 に答える 2

1

Mongoose のクエリ作成機能はこれをサポートしていますが、文字列ではなく ObjectId である必要がtop-contentありbottom-contentます (とにかく効率的です)。

于 2013-01-14T14:20:45.683 に答える
0

Freenode の #node.js でチャットした後、これを配列として設定し、必要な参照を含む任意のキーと値のペアを配置できるようです。

その時点で、私は自分で逆参照します。

{ //PAGE 1
  name:"Sticks",
  blocks:[
    "top":[OID(5),OID(6)],
    "bottom":[OID(7),OID(8)]
  ]
};
{ //PAGE 2
  name:"Poopsicles",
  blocks:[top:[OID(7)]]
};

//BLOCKS
{
  OID:5,
  name:"top"
};
{
  OID:7,
  name:"bottom rocker"
};

//QUERYING
page.findOne({name:"Sticks"}, function(e,d) {
  var a = [];
  for(l in d.blocks) {
    a.append(d.blocks[l]);
  }
  blocks.find({oid:a},function (e,b) {
    //do your stuff with the blocks and page here;
  });
});
于 2013-01-17T14:50:20.673 に答える