2014-10-30 3 views
1

내 노드에 대한 참조를 만들어 $ asObject()로 내 프로젝트에 가져올 때 데이터베이스에 'questions'라는 기본 노드가 있습니다. 개별 질문을 수정하고 $ save()를 아무 문제없이 저장할 수 있습니다. 그러나 객체를 우선적으로 제한하려고하면 $ save()가 객체의 모든 것을 삭제합니다!

이 잘 작동합니다 :

db.questions = $firebase(fb.questions).$asObject(); 
// later : 
db.questions.$save(); 
// db.questions is an object with many 'questions', which I can edit and resave as I please 

하지만를 최대한 빨리이 내 코드를 전환과 같이

db.questions = $firebase(fb.questions.startAt(auth.user.id).endAt(auth.user.id)).$asObject(); 
// later : 
db.questions.$save(); 
// db.questions is an empty firebase object without any 'questions!' 

일부 제한된 개체에 대한 제한 (말장난하지 않음) 할 수있는 능력이 있는가 변경 및 저장 ?? 구원은 실제로 ... 데이터베이스에 대한 질문에 업데이트를 저장하지만 어떻게 든 로컬 $의 중포 기지 객체를 핵무기

동기 배열 ( $asArray) 문서의

답변

1

첫 번째 줄 :

동기화 배열에 모든 사용되어야한다

정렬되고 반복되며 고유 ID가있는 객체 목록입니다.

개체 키/값 쌍과 모음으로 사용되지 않는 단일 레코드를 저장하는데 유용하다 : 동기화 객체 ($asObject) 문서

첫째 줄.

설명했듯이 컬렉션으로 작업하고 limit을 사용하면 컬렉션 용으로 설계된 도구 (예 : $ asArray)를 사용해야합니다. 당신이 중포 기지 SDK를 사용하여 $save의 동작을 재현한다면

, 그 결과는 다음과 같습니다

var ref = new Firebase(URL).limit(10); 
// ref.set(data); // throws an error! 
ref.ref().set(data); // replaces the entire path; same as $save 

따라서, 행동이 여기에 정확히 SDK를 일치합니다. 기술적으로 쿼리 인스턴스에서 set()을 호출 할 수는 없으며 실제로는 이해가되지 않습니다. JSON 객체에서 limit (10)은 무엇을 의미합니까? 집합을 호출하면 순서가없는 10 개의 키를 설정해야합니까? 여기서 상관 관계가 없으며 limit()은 키/값 쌍의 목록이 아닌 데이터 모음에서만 의미가 있습니다.

희망이 있습니다.

관련 문제