2014-01-08 24 views
0

在CouchDB中,我正在写入一个数组并且不断收到消息“[Circular]”。我正在使用Node.js创建要写入的数据。CouchDB“[Circular]”写入数组时

说我有同样的文档中的两个电子邮件对象CouchDB中:

unverifiedEmail = [{"address":"[email protected]","dateAdded":"1389215329484"}] 
verifiedEmail = [] 

现在的Node.js我写之前做到这一点。

var oldData = readFromCouchDb(); 
var newData = oldData; 
newData.verifiedEmail.unshift(newData.unverifiedEmail[0]); 
writeToCouchDb(newData); 

后来,当我在被褥查看文档我看到这一点:

unverifiedEmail = [{"address":"[email protected]","dateAdded":"1389215329484"}] 
verifiedEmail = "[Circular]" 

这是怎么回事?

回答

0

我发现这个问题与设置Javascript对象相等的方式的深度有关。

为了解决这一点,我用下面的代码代替上述不印字的:

newData.verifiedEmail.unshift(JSON.parse(JSON.stringify(newData.unverifiedEmail[0])));