1

我可以描述我所追求的最好方法是从一个简化的演示page文档开始:

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

有没有办法可以定义这种与猫鼬的多对多关系,以便我可以通过字符串键(如top-contentand )查找它们bottom-content?与此等效的关系类似于在多对多连接表中包含一个字符串。

重要的:

  • 我不想嵌入我引用的块,因为它们可以被多个页面引用。
4

2 回答 2

1

Mongoose 的查询填充功能支持这一点,但需要是 ObjectIds 而不是字符串(无论如何这更有效)top-contentbottom-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 回答