- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
如何使用 elemMatch 对 SubDocument 数组进行搜索?我有一个名为 ReportCollection 的文档,其中包含以下元素:-
/* 0 */
{
"_id" : ObjectId("5507bfc435e9470c9aaaa2ac"),
"owner" : ObjectId("5507bfc31e14d78e177ceebd"),
"reports" : {
"xReport" : [
{
"name" : "xReport",
"parameters" : {
"x" : {
"dateTime" : "2015-03-11T18:30:00.000Z",
"unit" : 1,
"value" : 102
}
},
"createdBy" : ObjectId("5507bfc31e14d78e177ceebd"),
"modifiedBy" : ObjectId("5507bfc31e14d78e177ceebd"),
"_id" : ObjectId("5507bfc41e14d78e177ceebf")
}
]
}
}
我得到 reports.xReport[]._id 作为搜索参数。
我的以下尝试失败了:-
db.reports.find ({ {owner: ObjectId("5507afd3d54bae3513c185cb")},
{ 'reports.xReport': {$elemMatch: {_id: ObjectId("5507afd3d54bae3513c185cd") }}} } )
最佳答案
您似乎正在尝试将工作投入到您应该在查询中执行的“投影”中。相反,您的声明应该看起来更像这样:
db.reports.find(
{
"owner": ObjectId("5507bfc31e14d78e177ceebd"),
"reports.xReport._id": ObjectId("5507bfc41e14d78e177ceebf")
},
{ "reports.xReport.$": 1 }
)
因此,“查询”执行匹配数组位置的工作,而“投影”仅在匹配中使用该位置。
另请注意,您永远不会真正需要 $elemMatch
与单个字段进行匹配。只有当条件中需要多个字段时,才需要使用它来匹配特定的“元素”。
出于同样的原因,它也应该出现在“query”语句中。
$elemMatch
其投影形式不能通过点分符号与子文档字段一起使用。
关于javascript - 对子文档数组进行 elemMatch 搜索,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29092265/
我想添加子类别并在列表上使用react,但是当我单击子类别时,我有两个事件:第一个在子类别上,第二个在父类别上。 我怎样才能只有子类别? 这是我的实际代码: getList(myList){
我有一个问题。我有 1:N 关系(用户:任务)。我需要查询所有用户的列表,其中每个用户都有其任务列表 - 按日期(指定属性)排序。 最佳答案 获取用户 RealmResults users = rea
考虑以下代码片段: OPTIONS Email 每当我将鼠标悬停在 上时,
我正在与 PF4J(Plugin Framework for Java) 的开发者合作为 Wicket 提供更好的插件功能。已经有一个 pf4j-spring 和一个 pf4j-wicket 项目来提
我有一个带有 SVG 子元素的父元素(SVG 是一个简单的立方体)。父级的 CSS 不透明度 = 0.45。在 Android/Webview 上显示不透明度值在渲染时应用于各个 SVG 多边形,导致
我试图放置一个标签,使标签的顶部位于 UIViewController 下方的 2/3 处。所以我写了这个约束,但它给了我下面的错误。 NSLayoutConstraint *labelTopCons
我是一名优秀的程序员,十分优秀!