pymongo中如果读取DBRef关联外键文档字段?

在做一个小站,第一次使用pymongo+bottle+jinja2,现有新闻两个文档集合,类别:news.category和文章:news.article

插入文章时代码片段如下:

{
            "category": DBRef("news.category", ObjectId('519724b5be238712bcd67793')),
            "title": "文章标题1"
}

问题是,我在读取文章集合时,如果在每个文档记录里得到该文章的类别名称? news.category.category为类别文档的字段

阅读 7.1k
1 个回答

如果我来设计,就不用DBRef,直接把ObjectId写上去。因为DBRef也是driver帮你再query一次数据库,而且跟直接写ObjectId一样,没有关系数据库中必需的外键一致性。 性能上也跟 db.category.find({ "_id" : article["category"]}) 一样样的。官方也不推荐用它了。

如果你一定要用DBRef,可能这个官方文档能帮上你。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏