Firebase VueFire:在客户端上设置后解析引用

Firebase VueFire:在客户端上设置后解析引用,firebase,vue.js,google-cloud-firestore,vuefire,Firebase,Vue.js,Google Cloud Firestore,Vuefire,根据“[…]VueFire将自动绑定最多一个嵌套引用”。如果我从数据库中检索一个属性为ref的对象(map),ref会在客户端自动解析(ref\u属性不会保存对象的路径(例如users/123),而是实际数据({username:'john',homely:'秋'}) 问题是:如何在客户端上更新ref_属性(例如,假设alast\u edit\u by_ref),a.)VueFire能够将其解析为UI的有效JSON,b.)确保同时将其作为ref存储在数据库中 如前所述,我尝试(再次)从集合中获取

根据“[…]VueFire将自动绑定最多一个嵌套引用”。如果我从数据库中检索一个属性为
ref
的对象(map),
ref
会在客户端自动解析(
ref\u属性
不会保存对象的路径(例如
users/123
),而是实际数据(
{username:'john',homely:'秋'}

问题是:如何在客户端上更新
ref_属性
(例如,假设a
last\u edit\u by_ref
),a.)VueFire能够将其解析为UI的有效JSON,b.)确保同时将其作为ref存储在数据库中

如前所述,我尝试(再次)从集合中获取引用对象(“要编写对文档的引用,需要传递实际的引用对象”)。但是,问题是VueFire无法解决此问题,导致UI中出现空值:

post.last_edit_by_ref = db.collection('users').doc('123')

背景:如果我设置的是纯JSON,则属性不再作为
引用存储在数据库中。这是不好的,因为链接对象可能会被更改(链接对象将保存复制的过时数据)。

它与VueFire无关。这就是firebase如何解析它在set/update方法中获得的对象

如果您关注这一部分:

const data = {
  age: 18,
  name: "John",
  carRef: db.collection('cars').doc('john-car'),
}

await db.collection('users').doc('john').set(data);
您将在firestore中拥有ref。反过来,VueFire将自动绑定对象

对于您的情况,我认为您需要找到一种方法来获取
db.collection('users').doc(last\u edit\u user\u id)
,以便为post创建引用