根据docu "... VueFire将自动绑定至多一个嵌套引用。“如果我从数据库中检索一个属性为ref的对象(地图),这很有效:ref会在客户端自动重新解析(ref_property将不会保存对象的路径(例如users/123),而是实际的数据({username: 'john', hometown: 'autumn'})。
问题是:我如何更新客户端上的ref_property (例如,假设一个last_edit_by_ref)。)VueFire能够将其解析为UI和b的有效JSON。)确保它同时作为ref存储在数据库中?
我尝试(再次)从集合中获取引用的对象,正如here所解释的(“要写入对文档的引用,需要传递实际的引用对象”)。然而,这样做的问题是,VueFire没有解决这个问题,导致UI中的值为空值:
post.last_edit_by_ref = db.collection('users').doc('123')背景:如果我设置的是普通JSON,则该属性不再作为reference存储在数据库中。这是不好的,因为链接对象很可能会被更改(并且链接对象将保存复制的、过时的数据)。
发布于 2020-10-07 17:19:18
它与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中得到裁判。反过来,VueFire将自动绑定对象。
对于你的情况,我认为你需要找到一种方法来让db.collection('users').doc(last_edit_user_id)为post制作引用。
https://stackoverflow.com/questions/64238515
复制相似问题