【问题标题】:CouchDB "[Circular]" when writing to an array写入数组时的 CouchDB“[Circular]”
【发布时间】:2014-01-08 21:16:18
【问题描述】:

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

假设我在 CouchDB 的同一个文档中有两个电子邮件对象:

unverifiedEmail = [{"address":"john@example.com","dateAdded":"1389215329484"}]
verifiedEmail = []

现在在 Node.js 中,我在编写之前会这样做。

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

然后,当我在 Futon 中查看文档时,我看到:

unverifiedEmail = [{"address":"john@example.com","dateAdded":"1389215329484"}]
verifiedEmail = "[Circular]"

这是怎么回事?

【问题讨论】:

    标签: couchdb cloudant couchdb-futon


    【解决方案1】:

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

    为了解决这个问题,我用下面的代码代替了上面的 unshift:

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

    【讨论】:

      猜你喜欢
      • 2011-08-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-17
      • 1970-01-01
      相关资源
      最近更新 更多