概念化noSQL ...使用Magic the Gathering

时间:2014-01-09 22:04:15

标签: json mongodb nosql

所以,我一直在使用SQL。这就是我所知道的,但我真的想了解如何概念化文档数据。

{
  "MBS":{
    "name":"Mirrodin Besieged",
    "code":"MBS",
    "releaseDate":"2011-02-04",
    "border":"black",
    "type":"expansion",
    "block":"Scars of Mirrodin",
    "cards":[
      {"layout":"normal",
      "type":"Creature — Human Knight",
      "types":["Creature"],
      "colors":["White"],
      "multiverseid":214064,
      "name":"Hero of Bladehold",
      "subtypes":["Human", "Knight"],
      "cmc":4,
      "rarity":"Mythic Rare",
      "artist":"Austin Hsu",
      "power":"3",
      "toughness":"4",
      "manaCost":"{2}{W}{W}",
      "text":"Battle cry (Whenever this creature attacks, each other attacking creature gets +1/+0 until end of turn.)\n\nWhenever Hero of Bladehold attacks, put two 1/1 white Soldier creature tokens onto the battlefield tapped and attacking.",
      "number":"8",
      "watermark":"Mirran",
      "rulings":[
        {"date":"2011-06-01", "text":"Whenever Hero of Bladehold attacks, both abilities will trigger. You can put them onto the stack in any order. If the token-creating ability resolves first, the tokens each get +1/+0 until end of turn from the battle cry ability."},
        {"date":"2011-06-01", "text":"You choose which opponent or planeswalker an opponent controls that each token is attacking when it is put onto the battlefield."},
        {"date":"2011-06-01", "text":"Although the tokens are attacking, they never were declared as attacking creatures (for purposes of abilities that trigger whenever a creature attacks, for example)."}
      ],
      "imageName":"hero of bladehold",
      "foreignNames":[
        {"language":"Chinese Traditional", "name":"銳鋒城塞勇士"}, 
        {"language":"Chinese Simplified", "name":"锐锋城塞勇士"},
        {"language":"French", "name":"Héroïne de Fortcoutel"}, 
        {"language":"German", "name":"Held der Klingenfeste"}, 
        {"language":"Italian", "name":"Eroina di Rifugio delle Lame"},
        {"language":"Japanese", "name":"刃砦の英雄"},
        {"language":"Portuguese (Brazil)", "name":"Herói de Bladehold"}, 
        {"language":"Russian", "name":"Герой Блэйдхолда"}, 
        {"language":"Spanish", "name":"Héroe de Fortaleza del Filo"}
      ], 
      "printings":["Mirrodin Besieged"]},
      {next card...},
      {next card...},
      {next card...},
      {last card...}
    ]
  },
  {next set...},
  {next set...},
  {last set...}
}

所以,我有一张来自Magic:The Gathering的所有卡片的json文件。 json被“分割”成不同的集合。所以,如果我以某种方式将其导入noSQL数据库(mongoDB):

什么构成文件?

每套都是文件吗?

每张卡片都是文件吗?

什么是好结构?

那时的查询工作如何......如果我正在寻找某种东西,它只是一个巨大的“文本搜索”吗?

只是寻找某种洞察力来围绕noSQL。

0 个答案:

没有答案