python – DBRefs可以包含其他字段吗?

我在使用需要使用DBRefs的MongoDB时遇到过几种情况.但是,我还想在DBRef本身中缓存引用文档中的一些字段.

{$ref:'user', $id:'10285102912A', username:'Soviut'}

例如,即使引用了用户文档,我也可能希望用户名可用.这将为我提供单一文件方法的所有好处;更快速查询并消除了在我的代码中进行手动解除引用的需要.同时允许我在有意义的地方使用参考文献.

这个想法是,当引用的文档被更新(例如,用户更改其名称)时,我的业务层可以自动更新引用它的所有文档.

最后,我想知道在我的DBRefs上存储其他字段是否被认为是好的形式?会破坏什么吗?每次重写引用时,我都会丢失数据吗?像pymongo这样的司机会支持吗?

解决方法:

Ultimately, I’m wondering if it’s considered good form to store additional fields on my DBRefs?

拥有单独的“缓存”和“参考”字段可能更清晰……这取决于您的数据是什么样的.

Will I lose my data each time a reference is rewritten?

你可以,但如果你小心的话,不行.如果要更新DB ref子对象,只需确保更新要更新的特定字段,而不是覆盖整个子对象.

请记住引用,因为它们只是普通对象.数据库引用是标准,而不是特殊类型.

Will drivers like pymongo support it?

驱动程序的解除引用帮助程序仍然有效.帮助者只需使用$ref和$id字段执行findOne.

相关文章

校园网上订餐系统系统主要功能模块包括公告内容(公告栏、轮...
从今天开始,正式进入项目阶段。本次的项目是跟着黑马的瑞吉...
在可预见的将来,IT不会萎缩,只会越发展越庞大,最终会渗透...
vulntarget-b靶场最详细通关记录。
MongoDB是一个开源、高性能、支持海量数据存储的。
【NoSQL数据库技术与应用】课本代码、课后答案(持续更新)