此Meteor代码让客户端调用流星方法。然后在服务器上,它尝试在集合ActiveTaskCol
中插入文档
然后是一个observeChanges设置,这样当插入所述文档时,console.log(fieldName)
会在观察者的added:
属性中被触发。
我无法理解为什么我收到此服务器错误。感谢
错误:匹配错误:Match.OneOf或Match.Optional验证失败
ActiveTaskCol = new Mongo.Collection('activeTaskCol');
ActiveTaskCol.before.insert(function (userId, doc) {
doc.userId = Meteor.userId();
doc.createdAt = Date.now();
});
var activeTaskQuery = ActiveTaskCol.find({},{limit: 1, sort: -1});
var activeTaskHandle = activeTaskQuery.observeChanges({
added: function (id, action) {
console.log(action);
}
});

答案 0 :(得分:1)
我认为问题可能在于排序语法。也许试试var activeTaskQuery = ActiveTaskCol.find({},{limit: 1, sort: {createdAt:-1}});
但事实证明下一行会在客户端失败,因为这还没有在minimongo中实现,但这可能会做你想要的:
var activeTaskQuery = ActiveTaskCol.find({});
var activeTaskHandle = activeTaskQuery.observeChanges({
addedBefore: function (id, action) {
console.log(action);
}
};