在mongodb中搜索hashmap / object或array的速度更快?

时间:2015-02-23 22:09:48

标签: arrays mongodb object

我们有3个实体 的
注意
注释

文章可以有0个或多个Notes,Note可以有0个或多个注释

我们的行动
1.我们想通过Note id来从db single note中获取 我们想在文章中添加新的注释 3.我们想在Note

中添加新评论

方案1

{
    _id: 'article_1',
    name: "Article 1",
    notes: [{
        _id: 'note_1',
        name: 'Note 1',
        comments: [{
            content: 'Hello World'
        }]
    }]
}

方法1
1. db.Article.find({_id: 'article_1', 'notes._id': 'note_1'}, {'notes.$': 1})
2. db.Article.update({_id: 'article_1'}, {$push: {notes: {_id: 'note_2', name: 'note2'}}})
3. db.Article.update({_id: 'article_1', 'notes._id': 'note_2'}, {$push: {'notes.$.comments': {content: 'Hi !!!'}}})

方案2

{
    _id: 'article_2',
    name: "Article 2",
    notes: {
        'note_1': {
            name: 'Note 1',
            comments: [{
                content: 'Hello World'
            }]
        }
    }
}

方法2
1. db.Article.find({_id: 'article_2'}, {'notes.note_1':1})
2. db.Article.update({_id: 'article_2'}, {$set: {'notes.note_2': {name: 'note2'}}})
3. db.Article.update({_id: 'article_2'}, {$push: {'notes.note_2.comments': {content: 'Hi !!!'}}})

哪种方案和方法被认为是最佳实践,哪种方案和方法可以获得更好的性能和原因 谢谢

0 个答案:

没有答案