Methods MeteorJS无法更新文档上的计数
这是我的函数,它不会更新NumStat集合文档上的计数Methods MeteorJS无法更新文档上的计数,methods,meteor,mongodb-query,Methods,Meteor,Mongodb Query,这是我的函数,它不会更新NumStat集合文档上的计数 Meteor.methods({ addDocument: function(array){ object = { numbers : array, date : new Date() } NumArray.insert(object); for (var i = 0; i < array.length; i++) { NumStat.update({n
Meteor.methods({
addDocument: function(array){
object = {
numbers : array,
date : new Date()
}
NumArray.insert(object);
for (var i = 0; i < array.length; i++) {
NumStat.update({num : array[i]},{$inc : {count : 1}});
console.log(NumStat.findOne({num : array[i]})); // this throws undefined
}
}
});
Meteor.methods({
addDocument:函数(数组){
对象={
数字:数组,
日期:新日期()
}
插入(对象);
对于(var i=0;i
如果我这样做:
update({num:2},{$inc:{count:1}});
它工作得很好,但不像我举的例子!?这种方法有什么问题?我怎样才能得到我想要的结果?增加按数组[项]查找文档的NumStat文档的计数
解决方案:
这是我的错,因为数组上的值是字符串,数据库上的num值是int。解决方案是使用parseInt(数组[i])。更好的解决方案是使用@Dewfy提到的findAndModify。我根本不知道Mongo的JavaScript实现,但是:
update
不会创建记录,但会更新现有记录,因此请查看save
p、 使用
find和modify
来指定要修改的ID数组,而不是循环-这样您就可以避免循环,并将修改逻辑放在服务器端非常感谢我将要使用的fundAndMdofiy函数。至于数组[i],这是我的错,数组的项是字符串,数据库的num值是int