0
다음과 같은 문제점이 있으며 몇 시간 동안 해결 방법을 찾지 못했습니다.JavaScript는 객체 키의 매개 변수로 문자열을 사용합니다.
JSON 객체 트립이 있습니다. 몽구스 스키마는 다음과 같습니다
var TripSchema = new Schema({
userId: String,
tripToken: String,
busId: Number,
lineId: Number,
tracking: [
{
vehicleCurrentStopCode: String,
vehicleTrackingList: [
{
vehicleLatitude: Number,
vehicleLongitude: Number,
vehicleUpdateTimestamp: Number,
vehicleUpdateId: Number
}
],
userTrackingList: [
{
userLatitude: Number,
userLongitude: Number,
userUpdateTimestamp: Number,
vehicleUpdateId: Number
}
]
}
]
});
지금은 내가 vehicleTrackingList updatethe 하려는 경우 즉 trackingList로 식별되어야하는 기능, 또는 userTrackingList를 작성했습니다 내 데이터베이스 핸들러 모듈. 기능으로
switch (trackingList.vehicleLatitude) {
case ('number') :
pushElementInCorrectTrackingList(trip, "vehicleTrackingList", index, trackingList);
break;
case ('undefined') :
pushElementInCorrectTrackingList(trip, "userTrackingList", index, trackingList);
break;
}
:
그러므로 나는 다음과 같은 노력var pushElementInCorrectTrackingList = function (trip, typeOfTrackingList, index, trackingList) {
trip.tracking[index].typeOfTrackingList.push(trackingList);
...
}
JS는 [인덱스] trip.tracking 후 문자열을받을하지 기다리고 있기 때문에이 작동하지 않습니다.
그러나 String을 객체 키로 변환하는 함수를 찾지 못했습니다. 처음에 다음과 같은 문제가 해결되었을 것이라고 생각했지만 오류를 잡았습니다. TypeError : 정의되지 않은의 'push'메서드를 호출 할 수 없습니다.
var pushElementInCorrectTrackingList = function (trip, typeOfTrackingList, index, newElement) {
var param = typeOfTrackingList.valueOf();
trip.tracking[index].param.push(newElement);
...
}
누구에게도 해결책이 있습니까?
미리 감사드립니다.
오, 내 생각에 ... 나무에 나무가 보이면 어떻게되는지 ... 대단히 고마워요! 내가 충분히 평판을 얻으면 나는 너를 평가했다 ... – Vegaaaa