我正在开发一个系统,可以通过访问密钥与其他用户共享项目.我将访问键存储为shareinfo对象中的字段(嵌入在项目的文档中),如下所示:
shareinfo:{
........
<nth key>: <permissions object - may be complex and large>
........
}
Run Code Online (Sandbox Code Playgroud)
当一个项目被访问时,我检查shareinfo.key并查找它是否有效.
目前,列出我正在加载(在Java中)整个shareinfo对象在内存中的键并在其上运行keySet()以检索并返回键,而其余数据被浪费.
这是问题所在:我想得到没有附带数据的密钥列表(即对象字段名称)(因为在某些情况下,权限对象明显很大).
我在mongodb文档中找不到任何查询这样的查询.我想知道它是否可能?或者是否有一种优化的方法将字段名称列表加载到应用程序中而没有附带的字段值?
在尝试使用mongodb shell了解现有mongodb数据库的结构时遇到了同样的问题.然后我发现我可以使用JavaScript函数Object.keys()来检索对象字段的数组.(使用MongoDb 2.4.2测试)
Object.keys(db.collection.findOne())
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2434 次 |
| 最近记录: |