Javascript 嵌套指针数据
我使用解析服务器Javascript API调用下面的解析查询。我有一个名为Device的类,它有一个指向Device\u Type的指针对象,该指针对象又有一个指向制造商的指针 我可以成功地在inventoryItem中显示deviceID,但是对于制造商来说没有定义,尽管JSON网络返回中有相关数据Javascript 嵌套指针数据,javascript,angularjs,parse-platform,parse-server,Javascript,Angularjs,Parse Platform,Parse Server,我使用解析服务器Javascript API调用下面的解析查询。我有一个名为Device的类,它有一个指向Device\u Type的指针对象,该指针对象又有一个指向制造商的指针 我可以成功地在inventoryItem中显示deviceID,但是对于制造商来说没有定义,尽管JSON网络返回中有相关数据 $scope.getDeviceItems = function () { var query = new Parse.Query("Device"); query.includ
$scope.getDeviceItems = function () {
var query = new Parse.Query("Device");
query.include("Device_Type");
query.include("Device_Type.Manufacturer");
query.find({
success: function (results) {
$scope.deviceItems = [];
for (i = 0; i < results.length; i++) {
var d = results[i].get("Device_Type");
var m = results[i].get("Device_Type.Manufacturer");
var inventoryItem = {
deviceID: d.get("Device_ID"),
manufacturer: m.get("Manufacturer_Name")
}
};
};
};
};
你能同时发布你的
json
数据吗?我想你把你的成功电话弄糟了。通常,当您传递结果时
您应该执行类似$scope.eurica=results.data的操作,但我不确定。如果你给我看你的实际数据会更容易。@ZombieChowder我已经用JSON修改了这个问题。谢谢。更改var m=results[i].get(“设备类型”).get(“制造商”)代码>完全满足了我的需要。不过,你的进一步解释很有见地。我的知识水平不足以回答地图查询。这就是指南所建议的:。希望一些更有经验的解析开发人员能提供进一步的见解。@MrT啊,好的,实际上在链接中,它有一点关于复合材料的使用。get看起来你可能能够做。get([“Device\u Type.Manufacturer”])
从那里向下滚动到“Counting Objects”的正上方这些文档似乎没有明确地解释任何地方可以做什么。尽管如此
{
"results": [{
"objectId": "q3D2myHG3e",
"createdAt": "2017-07-30T22:28:05.035Z",
"updatedAt": "2017-09-19T20:40:05.580Z",
"Device_Type": {
"objectId": "Ksej3F2sdp5",
"Device_Name": "Device 1",
"createdAt": "2017-07-30T21:57:58.638Z",
"updatedAt": "2017-08-08T20:20:14.397Z",
"Manufacturer": {
"objectId": "3NahYBNIiC",
"Manufacturer_Name": "ABC Ltd",
"createdAt": "2017-07-30T21:56:40.557Z",
"updatedAt": "2017-07-30T22:13:07.425Z",
"Devices": {
"__type": "Relation",
"className": "DeviceType"
},
"__type": "Object",
"className": "DeviceManufacturer"
},
"__type": "Object",
"className": "DeviceType"
},
...
}]
}
$scope.getDeviceItems = function () {
var query = new Parse.Query("Device");
query.include("Device_Type");
query.include("Device_Type.Manufacturer");
query.find({
success: function (results) {
$scope.deviceItems = [];
for (i = 0; i < results.length; i++) {
var curResult = results[i];
var d = curResult.Device_Type;
var m = curResult.Device_Type.Manufacturer;
var inventoryItem = {
deviceID: d.Device_ID
manufacturer: m.Manufacturer_Name
}
};
};
};
};
$scope.getDeviceItems = function () {
var query = new Parse.Query("Device");
query.include("Device_Type");
query.include("Device_Type.Manufacturer");
query.find({
success: function (results) {
$scope.deviceItems = [];
for (i = 0; i < results.length; i++) {
var curResult = results[i];
var d = curResult.get('Device_Type');
var m = curResult.get('Device_Type').get('Manufacturer'); // or d.get('Manufacturer')
var inventoryItem = {
deviceID: d.get('Device_ID')
manufacturer: m.get('Manufacturer_Name')
}
};
};
};
};