我有2个文档posts
和postDrafts
。在某些时候,我想将文档从postDraft
发布到post
。
内容类似于{body: "blah blah"}
。
因此,简单的解决方案是提取postDraft
的内容,然后发送回posts
文档。这是我的代码。
export const publishDraftById = (postId) => async dispatch => {
return new Promise((resolve, reject) => {
postDraftsRef.doc(postId).get()
.then(doc => {
if (!doc.exists) {
reject('No such document!');
} else {
const draft = doc.data();
postsRef.doc(postId).update({
body: draft.body,
date_modified: new Date()
});
resolve();
}
})
.catch((err) => {
reject(err);
console.log('Error getting documents', err);
});
})
};
但是我真正认为有用的是一种执行此类元代码的方法
“分配帖子(postid).body = postDraft(postid).body”
我能以某种方式解决这个问题吗?
答案 0 :(得分:1)
有没有一种方法可以将doc值复制到另一个值而无需提取数据并发送回去
不,没有。您需要先获取文档才能将其写回。如果不这样做,就无法简单地在文档中获取属性并在另一个文档中写入属性。没有字段级权限或对文档的访问。这是整个文档,或者什么也没有。
因此,如果您想读取字段{body: "blah blah"
,则将获得整个文档,而不仅是将其写入另一个文档的属性。因此涉及两个操作,一个读操作和一个写操作。