javascript - meteor upsert 返回错误

标签 javascript mongodb meteor

在我的 Meteor 应用程序中使用 upsert 时出现错误。我有一个具有权限的集合...

Parts = new Mongo.Collection('parts');

if (Meteor.isServer) {
  Parts.allow({
    insert : function () {
      return true;
    },
    update : function () {
      return true;
    },
    remove : function () {
      return true;
    }
  });
}

以及检查是否已创建具有“partName”的文档的更新插入方法。

Meteor.call( 'partsUpsert', partName, content );

Meteor.methods({
    partsUpsert: function (partName, content) {
        Parts.upsert(
            check(content, Number),
            check(partName, String),
            {name: partName},
            { 
                $set: {vertices: content}
            }
        );
    }
});

如果还没有创建,它应该向数据库中插入一个新文档。但是我在调​​用方法“partsUpsert”错误时不断收到服务器错误 Exception:无效修饰符。修饰符必须是对象。

我已经尝试修改代码,但没有任何效果。

最佳答案

检查是方法的一部分,而不是upsert。试试这个:

Meteor.methods({
  partsUpsert: function (partName, content) {
    check(content, Number);
    check(partName, String);

    return Parts.upsert({name: partName}, {$set: {vertices: content}});
  }
});

关于javascript - meteor upsert 返回错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27412941/

相关文章:

javascript - tfjs-node-gpu Windows 上的 ELF header 无效

javascript - 在 JavaScript (jQuery) 代码中使用重音

java spring MappingJacksonJsonView 没有在 mongodb ObjectId 上执行 toString

javascript - 如何将对象从 MongoDB 发送到 jade?

node.js - Mongo 在内部和对象数组中查找多个匹配项

meteor - const 后出现意外的 token

javascript - 如何返回该对象数组的总计?

javascript - 反向引用每个字符

c# - 将 Parse.com 数据库迁移到 SQL Server

linux - 将 Meteor 作为守护进程运行