Meteor minimongoid update()

时间:2014-03-02 23:25:04

标签: meteor

所以我已经在流星中编写了一个相当大的应用程序,但只是添加了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')

2 个答案:

答案 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 }