Javascript Angular Meteor-发布单个文档,观察Mongo中的更改并相应地更改

Javascript Angular Meteor-发布单个文档,观察Mongo中的更改并相应地更改,javascript,angularjs,meteor,Javascript,Angularjs,Meteor,我需要找到一种从我的数据库中“观察”随机文档的方法,目前我正试图通过使用以下方法来发布: // Generate a random ID from our documents function randomId() { // Count total documents, then generate a random index var count = Documents.find().count(); var random = Math.floor(Math.rando

我需要找到一种从我的数据库中“观察”随机文档的方法,目前我正试图通过使用以下方法来发布:

// Generate a random ID from our documents
function randomId() {

    // Count total documents, then generate a random index
    var count = Documents.find().count();
    var random = Math.floor(Math.random() * count);

    // Get our random document
    var document =  Documents.findOne({}, {
        skip: random
    });

    // Return the Document ID
    return document._id;

}


// Publish a random document
Meteor.publish("randomDocument", function(random) {

    var documentId = randomDocumentId();
    return Documents.find({
        _id : documentId,
    })

})
这很好,当我决定投票时,问题出现在UI中。我将按下投票按钮,但计数器不会在UI上增加或减少。目前,我正在使用以下代码将订阅加载到$scope中:

$scope.$meteorSubscribe('randomDocument', Random.fraction()).then(function(subHandle) {    

    // Load latest random document into scope
    var documents = $meteor.collection(Documents)
    $scope.document = documents[documents.length-1]

})
在UI中,我使用以下命令显示赞成票:

span.details-pane-yes {{ document.votes }}
这是我调用的增加投票数的方法:

Documents.update(documentId, {
  $inc: {
    votes: 1
  }
});
无论何时调用它,UI都不会更新以反映它。但当我从终端查询时,它确实会显示在数据库中

我需要的是,当任何用户对文档进行投票时,计数器都会更新,而无论我尝试了什么,我似乎都无法让它正常工作。任何帮助都将不胜感激