- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有两个 mongo 集合,一个包含约会提醒,另一个包含通知。我正在尝试返回给定的branchId/clinic_id中的所有存档:错误提醒的结果,并包括其已确认的:错误通知。另外,我想确保约会显示在结果中,无论它们是否有通知。
我需要通过branchId(又名clinic_id)“加入”集合,然后为每个生成的预约提醒创建任何未确认通知的数组。
我返回了正确的预约,但是notif 数组未通过匹配病人 ID/病人 ID 进行过滤。每个提醒似乎都包含完全相同的 notif 数组。除此之外,其他一切似乎都是正确的。所以,我的问题是如何确保 notif 数组仅包含与提醒的 Patient_id 值匹配的病人 ID?
chop 的预约提醒架构:
{
time: {
type: Date,
required: true
},
patient_id: {
type: String,
required: true
},
status: {
type: String,
default: 'unconfirmed'
},
archive: {
type: Boolean,
default: false
},
branch: [
// Incorrectly setup as an array rather than an object.
// Can $unwind as there is only ever one item in the array
{
name: {
type: String,
required: true
},
clinic_id: { // aka branchId
type: String,
required: true
}
}
]
}
通知架构:
{
branchId: { type: String, required: true }, // aka clinic_id
patientId: { type: String, required: true },
acknowledged: { type: Boolean, default: false },
date: { type: Date, default: Date.now }
}
聚合查询:
[
{ $match: { 'branch.0.clinic_id': '1', archive: false } },
{ $unwind: '$branch' },
{
$lookup: {
from: 'notifications',
let: { clinic_id: '1', patient_id: '$patientId' }, //<-- issue with patient_id?
pipeline: [
{
$match: {
$expr: {
$and: [
{ $eq: ["$patientId", "$$patientId"] }, <-- errors $$patientId unknown value. $$patient_id returns 0 results.
{ $eq: ['$branchId', '$$clinic_id'] },
{ $eq: ['$acknowledged', false] }
]
}
}
}
],
as: 'notif'
}
}
]
示例输出,其中包含对我遇到的所需输出和不正确输出的注释:
{
patient_id: '1',
time: '2019-05-29T11:00:00.000Z',
status: 'unconfirmed',
archive: false,
branch: [
{
name: 'Example location',
clinic_id: '100',
}
],
notif: [
{
// This is correct
branchId: '100', // branchId matches clinic_id
patientId: '1', // patientId matches contacts patient_id
acknowledged: false, // notification is unacknowledged
date: '2019-05-18T16:18:05.480Z'
},
{
// This is not correct
branchId: '100',
patientId: '2', // PatientId does not match patient_id of reminder
acknowledged: false,
date: '2019-05-20T16:18:05.480Z'
}
]
}
最佳答案
首先,您必须使用$$ Patient_id
,这是使用查找变量的正确语法。
使用正确语法得到 0 结果的原因是(我假设您没有共享完整的架构)类型不同。
请注意,通知架构中的 patentId
已定义:
病人 ID:{ 类型:字符串,必需:true },
其类型为String
。
来自您最后共享的“所需”输出架构:
{
患者ID:1,
...
}
看起来您的病人 ID 被定义为数字,因此文档之间没有匹配的原因。
关于javascript - Mongo $lookup $pipeline 具有多个 $expr 参数,未在 $lookup 结果中返回正确的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56306406/
如果查找返回 null 该怎么办?我正在使用 org.openide.util.Lookup 的 Lookup.getDefault().lookup() ,它用于查找对象的实例。一般模式是传递一个
我尝试了两种方法来获取给定函数的 MethodHandle。 Method 1 Method m = MyClass.class.getMethod("myMethod", String.class,
前言 前面几节都是讲的基础内容,本节我们讲讲索引性能优化,当对大数据进行处理时首先想到的就是索引,一旦遇到这样的问题则手忙脚乱,各种查资料,为何平常不扎实基本功呢,我们由浅入深,简短的内容,深入的
我试图理解 System.Linq.Lookup类(class)。调用GetType()时,显示如下: System.Linq.Lookup`2+Grouping[System.Object,Syst
什么是依赖于参数的查找有哪些好的解释?许多人也称其为Koenig Lookup。 最好我想知道: 为什么这是一件好事? 为什么不好? 如何运作? 最佳答案 Koenig查找或 Argument Dep
关于什么是参数相关查找有什么好的解释?许多人也称它为 Koenig Lookup。 最好我想知道: 为什么是好事? 为什么是坏事? 它是如何工作的? 最佳答案 Koenig 查找 , 或 Argume
我有两个 mongo 集合,一个包含约会提醒,另一个包含通知。我正在尝试返回给定的branchId/clinic_id中的所有存档:错误提醒的结果,并包括其已确认的:错误通知。另外,我想确保约会显示在
关于什么是参数依赖查找有什么好的解释?许多人也将其称为 Koenig Lookup。 最好我想知道: 为什么这是一件好事? 为什么这是一件坏事? 它是如何工作的? 最佳答案 Koenig 查询 , 或
我正在 AX 2009 中的一个表单上创建一个项目。有一个名为“SubsPersonName”的查找字段,它使用以下方法对 ContactPerson 表执行查找。 public void looku
关于什么是参数依赖查找有哪些好的解释?许多人也将其称为 Koenig Lookup。 最好我想知道: 为什么这是一件好事? 为什么这是一件坏事? 它是如何工作的? 最佳答案 Koenig 查找,或 A
关于什么是参数依赖查找有哪些好的解释?许多人也将其称为 Koenig Lookup。 最好我想知道: 为什么这是一件好事? 为什么这是一件坏事? 它是如何运作的? 最佳答案 Koenig 查找,或 A
关于什么是参数依赖查找有哪些好的解释?许多人也将其称为 Koenig Lookup。 最好我想知道: 为什么这是一件好事? 为什么这是一件坏事? 它是如何工作的? 最佳答案 Koenig 查找,或 A
关于什么是参数依赖查找有哪些好的解释?许多人也将其称为 Koenig Lookup。 最好我想知道: 为什么这是一件好事? 为什么这是一件坏事? 它是如何工作的? 最佳答案 Koenig 查找,或 A
关于什么是参数依赖查找有哪些好的解释?许多人也将其称为 Koenig Lookup。 最好我想知道: 为什么这是一件好事? 为什么这是一件坏事? 它是如何运作的? 最佳答案 Koenig 查找,或 A
关于什么是参数依赖查找有哪些好的解释?许多人也将其称为 Koenig Lookup。 最好我想知道: 为什么这是一件好事? 为什么这是一件坏事? 它是如何运作的? 最佳答案 Koenig 查找,或 A
关于什么是参数依赖查找有哪些好的解释?许多人也将其称为 Koenig Lookup。 最好我想知道: 为什么这是一件好事? 为什么这是一件坏事? 它是如何工作的? 最佳答案 Koenig 查找,或 A
关于什么是参数依赖查找有哪些好的解释?许多人也将其称为 Koenig Lookup。 最好我想知道: 为什么这是一件好事? 为什么这是一件坏事? 它是如何工作的? 最佳答案 Koenig 查找,或 A
关于什么是参数依赖查找有什么好的解释?许多人也将其称为 Koenig Lookup。 最好我想知道: 为什么这是一件好事? 为什么这是一件坏事? 它是如何工作的? 最佳答案 Koenig 查找,或 A
以下函数将电话号码作为输入参数(例如 +436641234567 或 +436641234567)并在联系人数据库中执行两次查找:首先,识别属于该号码的用户(这已经有效),然后使用该 ID用户的 获取
我设置了一个运行centos6.2 64位的virtualbox客户端机器,主机是windows7 64位,并在客户端机器上设置了两个网卡,一个是NAT模式,一个是host-only模式,然后我就陷入
我是一名优秀的程序员,十分优秀!