【发布时间】:2017-04-28 05:04:36
【问题描述】:
我有以下数据。想要搜索任何元素(CRT、READ、DLT、UPD)与输入数组匹配的 aclpermission。
以下查询
db.AMSAppACL.find({"aclpermissions.READ" : {'$in': ['58dc0bea0cd182789fc62fab']}}).pretty();
仅搜索 READ 元素。有没有办法搜索所有元素而不是使用 or 查询和聚合
{
"_id" : ObjectId("5900d6abb9eb284a78f5a350"),
"_class" : "com.debopam.amsapp.model.AMSAppACL",
"attrUniqueCode" : "USER",
"attributeVersion" : 1,
"aclpermissions" : {
"CRT" : [
"58dc0bd70cd182789fc62faa"
],
"READ" : [
"58dc0bd70cd182789fc62faa",
"58dc0bea0cd182789fc62fab"
],
"UPD" : [
"58dc0bd70cd182789fc62faa"
],
"DLT" : [
"58dc0bd70cd182789fc62faa"
]
},
"orgHierachyIdentifier" : "14",
"orgid" : 14,
"createDate" : ISODate("2017-04-26T17:19:39.026Z"),
"lastModifiedDate" : ISODate("2017-04-26T17:19:39.026Z"),
"createdBy" : "appadmin",
"lastModifiedBy" : "appadmin"
}
【问题讨论】:
-
如果您可以更改架构,您应该创建键值对。键是名称,值是 id 数组。
-
仍然是键值对。 :[值:字符串数组]。你想让我做其他事情,即把它从 aclpermissions 中取出吗?如果是,那么我将如何实现我的目标
标签: mongodb mongodb-query