Copie um $ firebaseObject e salve-o em um local diferente

No meu aplicativo, estou recebendo um objeto da minha base de firmas usando $ firebaseObject. O uso tem duas opções com esse objeto, altere-o e salve as alterações no objeto ou altere-o e salve-o como uma nova versão.

Meu problema é conseguir a segunda opção para trabalhar. Para o primeiro, posso simplesmente usar $ save () e funciona perfeitamente, mas até agora não consegui fazer uma cópia do objeto e salvá-lo em um local diferente na minha base de firmas.

Até agora eu tentei:

Salvar o objeto real em um local diferente (Erro: Firebase.push falhou: o primeiro argumento contém uma chave inválida ($ conf) na propriedade)Use angular.copy ($ firebaseObject) para fazer uma cópia do objeto (Erro: getter 'length' chamado em um objeto que não implementa a interface Storage.)Usando $ value do $ firebaseObject (Dado indefinido porque meu objeto não é primitivo, consulteDocumentação $ value)Criando um objeto separado em javascript e copie manualmente todos os valores do $ firebaseObject

As três primeiras opções falharam (os códigos de erro são mostrados com as opções) e a última opção funciona, mas não é realmente uma opção porque o objeto pode ter campos diferentes.

Alguém conhece uma solução para este problema?