所以我已经在流星中编写了一个相当大的应用程序,但只是添加了minimalongoid包。我已经发现它喜欢first()而不是findOne(),create()而不是insert(),但我无法弄清楚如何更新文档。我正在尝试执行以下操作,但它显示以下错误...我做错了什么?
Transactions.update {_id: txn._id},
$set:
"isActive": false
TypeError: Object function Transactions() {
I20140302-18:22:54.226(-5)? return Transactions.__super__.constructor.apply(this, arguments);
I20140302-18:22:54.226(-5)? } has no method 'update'
我在帖子中的所有内容。咖啡是
class @Transactions extends Minimongoid
@_collection: new Meteor.Collection('transactions')
答案 0 :(得分:0)
使用minimongoid更新对象实例,而不是使用Class方法。
这样的事情:
aTransaction = Transaction.create({-some attributes-})
aTransaction.update({attributeName: attributeValue})
答案 1 :(得分:0)
我还是MeteorJS的新手,但让我试试。我花了一段时间才发现自己。我们在工作中使用RoR是件好事。我要做的是:
服务器JavaScript上的:(如果你使用Rails,这应该很容易获得。)
Meteor.methods
updateTransaction: (id, name, url) ->
Transaction.find(id).update(
"isActive": status
)
然后在我的客户端JavaScript(模板):
Template.transaction_template.events
'submit .transaction-form': (event, template)->
event.preventDefault() // if using an <a>, remove is using button with type=button
status = template.find('[name=status]').value // find the input form with the name=status
Meteor.call 'updateTransaction', { id: @_id, status }