저는 고객이 상점의 제품을 사용자 정의 할 수있는 유성에 온라인 상점을 구축하고 있습니다. 모든 제품 데이터를 저장하고 사용자 입력에 따라 업데이트되는 Inventory
이라는 클라이언트 전용 모음을 설치했습니다. 사용자가 결제 할 준비가되면 제품 데이터를 ShoppingCart
이라는 클라이언트 & 서버 측 콜렉션에 덤프합니다.유성우 내 라우터에서 무한 루프를 피하려면 어떻게해야합니까?
Router.route '/:_type/:_id', ->
Session.set "inCart", false
@render @params._type,
data: =>
storedItem = ShoppingCart.findOne {
userId: Meteor.userId(),
image: @params._id
}
if storedItem?
delete storedItem._id
Inventory.update {image: @params._id}, {
$set: storedItem
}
Inventory.findOne image: @params._id
편집 : 그것은 일치가 발견되면 나는 사용자가 돌아가서 Inventory
에 ShoppingCart
에서 $set
데이터에 Inventory
그래서 설정에서 내 라우터를 제품에 자신의 편집을 개정 할 수 있도록하려면이 발생할 것으로 보인다 내 라우터 메서드는 Inventory
의 데이터가 변경 될 때마다 무한 루프에서 멈추게됩니다. 이 문제를 피할 수있는 방법이 있습니까? 이런 종류의 데이터를 처리 할 수있는 더 좋은 방법이 있습니까?
아이디어는 데이터를 덤프하여 새 세션이 시작될 때도 데이터가 존재할 수 있도록하는 것이지만 분명히 내 접근 방식이 잘못되었습니다. 이를 달성하는 가장 좋은 방법은 다른 응용 프로그램 상태에 대해 별도의 인스턴스 대신 동일한 (영구적 인) 컬렉션을 사방에 사용하는 것입니다. 어떻게 생각해? – gaplus