Meteor.js:当参数是Mongodb ObjectId时如何运行check()?

 挥霍人生e 发布于 2023-02-07 13:47

在我的一些Meteor方法中,我将从客户端发送Mongodb ObjectId作为参数.我想通过Meteor的check()系统来运行它们,但我似乎找不到任何与它们成功匹配的东西.

我试过了

var someObjectId = Meteor.Collection.ObjectId();

check(someObjectId, Meteor.Collection.ObjectId()) // fails
check(someObjectId, { _str : String }) //fails
check(someObjectId, String) //fails

任何帮助非常感谢!

1 个回答
  • 代替:

    check(someObjectId, Meteor.Collection.ObjectID());
    

    试试没有括号:

    check(someObjectId, Meteor.Collection.ObjectID);
    

    编辑-

    请注意,此检查的错误消息并不理想.

    check({}, Meteor.Collection.ObjectID);
    // Error: Match error: Expected
    

    可以假设消息应该是这样的

    // Error: Match error: Expected ObjectId, got object
    

    您可以在check包的此片段中看到为什么会发生这种情况.

    https://github.com/meteor/meteor/blob/devel/packages/check/match.js

    if (pattern instanceof Function) {
        if (value instanceof pattern)
            return;
        // XXX what if .name isn't defined
        throw new Match.Error("Expected " + pattern.name);
    }
    

    Meteor.Collection.ObjectID没有name财产.

    2023-02-07 13:49 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有