小编Ali*_*air的帖子

Mongoose填充多个嵌套文档

我搜索了高低,但无法弄清楚如何形成以下填充查询,首先是我的模型:

const CourseSchema = new Schema({
    classes: [{ type: Schema.Types.ObjectId, ref: 'Classroom' }]
});

const ClassSchema = new Schema({
    location: { type: mongoose.Schema.Types.ObjectId, ref: 'Location' },
    instructors: [{ type: mongoose.Schema.Types.ObjectId, ref: 'User' }],
});
Run Code Online (Sandbox Code Playgroud)

我有一个端点,它获得一个单一的课程,但我想填充classes字段和locationinstructors字段classes.现在,我可以填充教练场classeslocation,但我不能在同一时间填充他们两个.这就是我现在所拥有的:

    Course
        .findById(req.params.courseId)
        .populate({
            path: 'classes',
            populate: {
                path: 'instructors',
                model: 'User'
            }
        })
Run Code Online (Sandbox Code Playgroud)

我怎样才能填充该location字段classes

谢谢.

mongoose mongodb node.js

8
推荐指数
3
解决办法
7647
查看次数

如何检查id是否包含多个单词?

我有一个div:

<div id="picture_contents_12356_title"></div>
Run Code Online (Sandbox Code Playgroud)

'12356'是一个自动生成的唯一ID,我需要在那里拥有它.如何为具有"picture_contents"和"title"的id创建jQuery选择器?

我知道你可以做[id*="picture_contents"]但我也需要检查它是否包含"标题".如何在那里创建AND逻辑?

我想也许可以将id提取到变量并检查indexOf("picture_contents"),indexOf("title")但我想知道是否有更好的方法.

html javascript css jquery

4
推荐指数
1
解决办法
1215
查看次数

定期快照事实表 - 可能缺少一些捕获

我每天在DimPerson维度表中跟踪员工更改,并在每个月末填写我的事实表并计算员工,退出和员工人数.对于这个例子,假设我将填写4月30日月底的事实表.现在这就是我面临的问题:我在4月17日有一个员工记录,这是一个"雇佣"行动,所以在那个时候,我的DimPerson表读起来像这样:

+-------+-----------+----------+--------+--------------------+-------+
| EmpNo | Firstname | LastName | Action | EffectiveStartDate | isCur |
+-------+-----------+----------+--------+--------------------+-------+
| 4590  | John      | Smith    | Hire   | 4/17/2017          | Y     |
+-------+-----------+----------+--------+--------------------+-------+
Run Code Online (Sandbox Code Playgroud)

现在2天后,我看到同一个员工,但是有一个动作"经理改变",所以现在我的DimPerson表变为:

+-------+-----------+----------+-----------------+--------------------+-------+
| EmpNo | Firstname | LastName |     Action      | EffectiveStartDate | isCur |
+-------+-----------+----------+-----------------+--------------------+-------+
| 4590  | John      | Smith    | Hire            | 4/17/2017          | N     |
| 4590  | John      | Smith    | Manager Change  | 4/19/2017          | Y     |
+-------+-----------+----------+-----------------+--------------------+-------+
Run Code Online (Sandbox Code Playgroud)

因此,在月末,当我选择所有"当前"员工时,我会错过这个人的雇佣捕获,因为他最近的记录只是经理变更而实际招聘发生在"月内".在进行定期快照时,您是否可以错过某些更改?在这种情况下,你建议我做什么来捕捉雇佣行动?

mysql data-warehouse fact-table dimensional-modeling

0
推荐指数
1
解决办法
243
查看次数