【发布时间】:2013-04-26 14:20:52
【问题描述】:
我正在开发一个可以通过访问密钥与其他用户共享项目的系统。我将访问密钥作为字段存储在 shareinfo 对象中(嵌入在项目的文档中),如下所示:
shareinfo:{
........
<nth key>: <permissions object - may be complex and large>
........
}
当一个项目被访问时,我检查 shareinfo.key 并确定它是否有效。
目前,为了列出我正在(在 Java 中)在内存中加载整个 shareinfo 对象并在其上运行 keySet() 以检索和返回键的键而其余数据被浪费 .
问题来了:我想获取没有附带数据的键列表(即对象字段名称)(因为在某些情况下权限对象非常大)。
我在 mongodb 文档中找不到此类查询的任何查询。我想知道这是否可能?或者是否有一种优化的方法可以将字段名称列表加载到应用程序中,而不需要随附的字段值?
【问题讨论】:
-
恐怕不行。您可以检查一个字段是否存在,但您无法获取它们的列表。
-
我想最好的办法是让权限对象尽可能小。顺便说一句,你知道这件事是否计划在未来吗?
标签: mongodb