我对使用MongoDB非常感兴趣,看起来很棒。但我来自一所完全不同的学校:关系数据库。
所以现在我想知道这个案例如何与MongoDB一起使用:
说,我有一个装满品牌的桌子,我还有另一张装满产品的桌子。
每个产品都有一个品牌。这很容易理解,但我仍然不明白它如何与MongoDB一起使用?
我的意思是,每次添加产品时我都必须重复这个品牌吗?我可以做某种关系吗?
感谢您的启发:)
答案 0 :(得分:3)
一种方法是将其设置为类似于:
{'brand':'brand one', 'products':
[{'product name':'a fine product','price':'$50'},
{'product name':'yet another fine product','price':'$20'}]
},
{'brand':'brand two', 'products':
[{'product name':'brand two product','price':'$10'}]
}
在这种情况下,您只有一个“表格”,其中包含您在产品上所需的所有信息(包括品牌)。我只做了一些mongodb的实验,所以我不确定这会如何扩展。
这是一种与关系数据库不同的思维方式,并且不应该在所有情况下使用nosql解决方案。
答案 1 :(得分:2)
的制备:将
c:\data\db\
(默认目录,现在不关心它)品牌:
db.things.save({'name': 'Ford'});
db.things.save({'name': 'Mitsubishi'});
产品:
db.things.save({'brand': 'Ford', 'name': 'Mustang'});
db.things.save({'brand': 'Ford', 'name': 'Falcon'});
db.things.save({'brand': 'Mitsubishi', 'name': 'Delica'});
db.things.save({'brand': 'Mitsubishi', 'name': 'L300'});
查询:
db.things.find();
db.things.find({'brand': 'Ford'});
db.things.find({'brand': 'Mitsubishi'});