我有一个服务器端集合,我在客户端订阅。客户端没有对服务器端集合的写访问权。
我想仅在客户端修改集合,并在我停止订阅/移动到另一条路线时销毁该更改。
这有可能吗?
感谢您的回答。
答案 0 :(得分:0)
我会在客户端上使用转换,如下所示:
var Books = new Meteor.Collection('books', {
transform: function(doc){
/*
A doc looks like this:
{
_id: "...",
title: "A nice title..."
}
*/
doc.clientTitle = new ReactiveVar("")
doc.setClientTitle = function(title){
this.clientTitle.set(title)
}
doc.getTitle = function(){
var clientTitle = this.clientTitle.get()
if(clientTitle == ""){
return this.title
}else{
return clientTitle
}
}
}
})
然后使用theBook.getTitle()
获取标题,theBook.setTitle('The new title')
仅在客户端更新。
注意:ReactiveVar
来自包reactive-var
。