我的文档用于这个样子的:嵌入文档中使用的MongoDB集团
{
_id : 47cc67093475061e3d95369d,
Name : "A name",
Description : "Some description",
DisciplineCode : "105",
DisciplineName : "A Name",
OtherProperty : "Something"
}
对于这,下面的一组命令工作,为了从我的文档获取不同DisciplineNames和DisciplineCodes
disciplines = db.result.group({
key: {DisciplineName:1, DisciplineCode:1},
reduce: function(obj, prev) { if (!obj.hasOwnProperty("DisciplineName")) {
prev.DisciplineName = obj.DisciplineName;
prev.DisciplineCode = obj.DisciplineCode;
}},
initial: { }
});
然而,在我的文档现在已经改为:
{
_id : 47cc67093475061e3d95369d,
Name : "A name",
Description : "Some description",
Discipline: {
Code : "105",
Name : "A Name"},
OtherProperty : "Something"
}
正如你所看到的,Discipline
是一个嵌入式文档。
我该如何修改我的组命令仍然执行相同的操作?
灿你确认你的减少功能是正确的?如果obj没有“disciplineName”字段,请将以前文档的名称字段设置为不存在的值? – Jenna 2012-07-10 21:02:49