我的文档应该看起来像这样,一个id最多有20个workCenters,每个workCenter可能有几个问题。只要身份证进入下一个工作中心,每个工作中心阵列就会关闭或阻塞以便进一步输入。mongodb upsert/addToSet/embedded文档
{
_id: "C7700258wcL4MSB050",
WorkCenters: [
{
workCenter: "L4MSB050",
Issues: [
{
issueType: "Material Movement",
issueDuration: 14
},
{
issueType: "Communication COA",
issueDuration: 20
},
{
issueType: "Lack of Tool",
issueDuration: 12
}
]
},
{
workCenter: "L4MSB060",
Issues: [
{
issueType: "Material Movement",
issueDuration: 14
},
{
issueType: "Communication COA",
issueDuration: 20
},
{
issueType: "Lack of Tool",
issueDuration: 12
}
]
}
]
}
我至今现在是:
TaktIssue.update({_id: centerId}, {$addToSet: {WorkCenters: {workCenter: workCenter, Issues: {issueType: issueType, issueDuration: minutes_2}}}});
这就是我想要的......
{
_id: "C7700254workCenter",
WorkCenters: [
{
workCenter: "L4MSB010",
Issues: {
issueType: "Tech Error",
issueDuration: 0
}
}
]
}
但对同一工作中心的第二项是一个完整的添加到第一个条目,而不仅仅是问题类型和时间。 而新的工作中心不会添加新阵列。
{
_id: "C7700254workCenter",
WorkCenters: [
{
workCenter: "L4MSB010",
Issues: {
issueType: "Tech Error",
issueDuration: 0
}
},
{
workCenter: "L4MSB010",
Issues: {
issueType: "Lack of Tool",
issueDuration: 0
}
},
{
workCenter: "L4MSB020",
Issues: {
issueType: "Material Movement",
issueDuration: 0
}
},
{
workCenter: "L4MSB020",
Issues: {
issueType: "Tech Error",
issueDuration: 0
}
}
]
}
我希望它的中途清楚我喜欢做什么。 任何帮助或提示高度赞赏。 感谢
其实这是不** **你想在所有的东西。请注意''问题“'包含一个”对象“'{}'而不是一个数组'''''。而这一点应该向你强调这个问题。有趣的是,只有几个问题:[添加唯一的数组并保持字段计数更新](http://stackoverflow.com/q/36119850/5031275),尽管为了一个不同的目的,至少应该给你指向正确的方向。 –
我认为它是一个好主意:)也许这就是为什么我无法找到信息如何做到这一点,就像我想要做的。 – Jogibaer