我是MongoDB的新手。我有两个系列,Stories
和Users
。除了object_id之外,故事只包含两个键,标题和网址。对于Users
集合,我记住了以下模式,在这里显示为Python字典/ json。MongoDB,这是深层嵌套的数据模型好吗?
users = {
"username": {
"stories_liked": [], # array of story object_id's
"stories_disliked": [], # array of story object_id's
"bag_of_words": {
"word1": {"pos": 0,"neg":0},
"word2": {"pos": 0,"neg":0},
# hundreds of thousands of words...
}
}
}
我意识到,虽然有重复了很多这里。我以这种方式设计了原子性和快速查找。我想知道如果不同的事情会更好。
重复是每个用户都有自己的单词包,这是一个包含数千个单词的字典。 我是这样设计的,因为我需要真正快速的查找 - 这个用户的这个单词的位置是什么 - 以及原子性 - 如果一个新故事被添加到stories_liked,那么这个故事的单词必须被添加到病房在同一个交易中。这是一个分类器。 – pad 2014-09-22 12:27:01