【发布时间】:2017-09-29 22:50:44
【问题描述】:
我在 mongodb 中使用嵌套集合。我正在通过 angularjs 从 mongodb 获取所有数据。
我的代码如下所示
$http.get('/Unitget').then(function (response) {
UnitDetails = $scope.UnitDetails = response.data;
UnitDetails.forEach(function (element) {
var c = element.Beds_Details; // test purpose
type1_Bed += element.Beds_Details[0].type1_Bed ;
type2_Bed += element.Beds_Details[0].type2_Bed ;
type3_Bed += element.Beds_Details[0].type3_Bed ;
type4_Bed += element.Beds_Details[0].type4_Bed ;
type5_Bed += element.Beds_Details[0].type5_Bed ;
}
}
但是,如果我删除了 "[0]",那么这里的 element.Beds_Details[0].type1_Bed 不会获得任何值,那么它会显示 undefined。如果我将 Beds_Details 分配给另一个变量,它将正确分配为对象。
我的收藏样本记录如下
"UnitId": "59225fd86ea6863028aba8b1", //unique id
"UnitName": "Hospital",
"UnitIcon": "./upload/file-1493206621849.png",
"FloorId": "592254b16ea6863028aba7e2", // unique id of another collection
"Material_Stream_Flow_Details": [
{
"Stream_Flow_DetailsID": "3",
"fa": "590042c06ea6863028aba777",
"fb": "590042c06ea6863028aba777",
"fc": "590042c06ea6863028aba777",
"fd": "590042c06ea6863028aba777",
"fe": "590042c06ea6863028aba777",
"ff": "590042c06ea6863028aba777",
"_id": ObjectId("59006a8d6ea6863028aba8cb")
}
],
"Destination_Details": [
{
"Elevator_ID": "2",
"Elevator": "590042c06ea6863028aba777",
"One_way": 42.6,
"Round_Trip": 21.3,
"_id": ObjectId("59006a8d6ea6863028aba8cc")
}
],
"Beds_Details": [
{
"Beds_DetailsID": "1",
"type1_Bed": 0,
"type2_Bed": 0,
"type3_Bed": 0,
"type4_Bed": 0,
"type5_Bed": 0,
"type6_Bed": 0,
"_id": ObjectId("59006a8d6ea6863028aba8cd")
}
]
如何获取嵌套集合中的值。
【问题讨论】:
标签: javascript angularjs mongodb