【问题标题】:Save type of reference to Firestore but get a string of [object object]保存对 Firestore 的引用类型,但获取 [object object] 字符串
【发布时间】:2023-03-06 10:28:01
【问题描述】:

我在 Firestore 中有一个字段,其引用为值 current_recipient: Users/uid/recipients/1574404390193.

前端从中获取参考并尝试将副本放入不同的文档中,但我得到的是current_recipient: [object object]而不是参考

这里是代码

const curRecipientRef = firebase.firestore().collection('Users').doc(uid)
    curRecipientRef.get()
        .then( doc => {
            let data = doc.data()

            let ref = data.current_recipient

             let orderRef = firebase.firestore().collection('Users').doc(uid).collection( 'order_history').doc( orderId )
             orderRef.set({
                 recipientRef: ref,
              })

        })
        .catch( err => console.log(err) )

我只想复制一份参考资料并将其保存在其他地方。

【问题讨论】:

  • 在一个地方您使用firebase.firestore() 来构建参考。在另一个地方你使用db。两者之间有重要区别吗?
  • @DougStevenson 我的错,他们应该是一样的。
  • 我希望这能奏效。还可以尝试在 GitHub 上提交错误,并确保彻底解释如何复制此行为。 github.com/firebase/firebase-js-sdk
  • @DougStevenson 在这种情况下,'ref' 是一个对象,我认为代码以某种方式将其视为常规对象,而不是 firestore 引用。
  • 对,我明白这里的问题了。这可能是 SDK 中的一个错误,这就是为什么我将您指向归档它的地方。

标签: javascript react-native object reference google-cloud-firestore


【解决方案1】:

我最近在 data() 上也遇到了类似的问题,而且它似乎工作正常。我只是犯了一个错误并添加了toString。我在你的代码中没有看到这个问题,但它会是这样的:

let ref = data.current_recipient.toString() 

结果完全一样。也许在您的原始代码中,您已经对这个 ref 值进行了更多处理,并且也使用了类似的东西。希望对您有所帮助!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-06-06
    • 2014-06-21
    • 1970-01-01
    • 2021-03-06
    • 1970-01-01
    相关资源
    最近更新 更多