我是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