【发布时间】:2014-07-16 20:23:49
【问题描述】:
我有一个从客户端调用的 Meteor 方法,它依次更新单个文档中的所有字段。在下面的最后一行代码中,我尝试立即在客户端上运行相同的更新以获得直接的副作用(它假设更新将通过)。问题是我得到了:
更新失败:访问被拒绝。在受限集合中,您只能更新文档,不能替换它们。使用 Mongo 更新运算符,例如 '$set'
尝试这样做时。我不想更新单个字段,我想更新整个文档。有没有办法正确地做到这一点?
entry = {
title: title
text: text
tags: entry.tags
mode: $('#mode').val()
file_ids: entry.file_ids
}
eid = Session.get('entryId')
entry._id = eid if eid
context = Session.get('context')
Meteor.call('saveEntry', title, entry, context)
Entries.update({_id: entry._id}, entry)
【问题讨论】:
-
你能详细说明'saveEntry'方法吗?您可以将 update 作为该方法的一部分运行,这样可以避免您的问题。
-
是的,你是对的......请参阅我在另一个答案下方添加的评论,这里的秘密是你提到的存根方法
标签: javascript mongodb meteor minimongo