在做一个小站,第一次使用pymongo+bottle+jinja2,现有新闻两个文档集合,类别:news.category和文章:news.article
插入文章时代码片段如下:
{
"category": DBRef("news.category", ObjectId('519724b5be238712bcd67793')),
"title": "文章标题1"
}
问题是,我在读取文章集合时,如果在每个文档记录里得到该文章的类别名称? news.category.category为类别文档的字段
如果我来设计,就不用DBRef,直接把ObjectId写上去。因为DBRef也是driver帮你再query一次数据库,而且跟直接写ObjectId一样,没有关系数据库中必需的外键一致性。 性能上也跟
db.category.find({ "_id" : article["category"]})
一样样的。官方也不推荐用它了。如果你一定要用DBRef,可能这个官方文档能帮上你。