Javascript 在firebase中处理用户副本时,会将$$conf添加到对象中,以便我可以';是否将用户复制到新位置?

Javascript 在firebase中处理用户副本时,会将$$conf添加到对象中,以便我可以';是否将用户复制到新位置?,javascript,firebase,angularfire,Javascript,Firebase,Angularfire,除非我在身份验证回调中访问firebase用户,否则对象中添加了$$conf,这会阻止我创建用户配置文件的副本以移动到新位置。有什么办法吗 //any variation of this doesn't seem to work except for in an auth callback var teamRef = new Firebase('https://demo.firebaseio.com/teams/' + teamName); var teamList = $firebase(te

除非我在身份验证回调中访问firebase用户,否则对象中添加了$$conf,这会阻止我创建用户配置文件的副本以移动到新位置。有什么办法吗

//any variation of this doesn't seem to work except for in an auth callback
var teamRef = new Firebase('https://demo.firebaseio.com/teams/' + teamName);
var teamList = $firebase(teamRef.child('profiles'));
teamList.$set(user.uid, user);
用户对象注销到以下位置:

e {$$conf: Object, $id: "simplelogin:107", $priority: null, email: "andrey@dsrp.tv", md5_hash: "7130dfaebedd9ac16f5e5d73822b160c"…}$$conf: Object$id: "simplelogin:107"$priority: null
即使我只是获取user.uid值,我仍然会得到错误:

   Error: Firebase.set failed: First argument  contains an invalid key ($$conf).  Keys must be non-empty strings and can't contain ".", "#", "$", "/", "[", or "]"
这让我完全停了下来。我目前正试图想出一种方法,通过身份验证回调来完成我需要做的事情,而不是在不同的位置


任何想法都将不胜感激

复制一个同步对象会非常奇怪。根据定义,要么副本将复制所有同步方法,要么它将立即过时。更可能的情况是,您希望将用户ID存储在“teams”路径中,并引用实际数据,以便它始终是最新的

也就是说,要创建副本,只需调用toJSON来删除$$方法。Firebase为此提供了一个实用程序:

var user = $firebase(...).$asObject();
var userCopy = $firebaseUtils.toJSON(user);
...$set(user.uid, userCopy);

制作同步对象的副本会非常奇怪。根据定义,要么副本将复制所有同步方法,要么它将立即过时。更可能的情况是,您希望将用户ID存储在“teams”路径中,并引用实际数据,以便它始终是最新的

也就是说,要创建副本,只需调用toJSON来删除$$方法。Firebase为此提供了一个实用程序:

var user = $firebase(...).$asObject();
var userCopy = $firebaseUtils.toJSON(user);
...$set(user.uid, userCopy);

制作同步对象的副本会非常奇怪。根据定义,要么副本将复制所有同步方法,要么它将立即过时。更可能的情况是,您希望将用户ID存储在“teams”路径中,并引用实际数据,以便它始终是最新的

也就是说,要创建副本,只需调用toJSON来删除$$方法。Firebase为此提供了一个实用程序:

var user = $firebase(...).$asObject();
var userCopy = $firebaseUtils.toJSON(user);
...$set(user.uid, userCopy);

制作同步对象的副本会非常奇怪。根据定义,要么副本将复制所有同步方法,要么它将立即过时。更可能的情况是,您希望将用户ID存储在“teams”路径中,并引用实际数据,以便它始终是最新的

也就是说,要创建副本,只需调用toJSON来删除$$方法。Firebase为此提供了一个实用程序:

var user = $firebase(...).$asObject();
var userCopy = $firebaseUtils.toJSON(user);
...$set(user.uid, userCopy);

您没有在此处包含有关用户的任何信息,这是问题的症结所在。我们看不到您是如何复制或创建它的。您没有在此处包含有关
用户的任何信息,这是问题的症结所在。我们看不到您是如何复制或创建它的。您没有在此处包含有关
用户的任何信息,这是问题的症结所在。我们看不到您是如何复制或创建它的。您没有在此处包含有关
用户的任何信息,这是问题的症结所在。我们看不到您是如何复制或创建它的。