草庐IT

optional_argument

全部标签

node.js - "Argument must be a string"在 Node.js 中具有某些 MongoDB ObjectID

我在Node中遇到了这样的错误:TypeError:ArgumentmustbeastringatTypeError(native)atBuffer.write(buffer.js:791:21)atserializeObjectId条件是使用MongoDB进行查找操作时ObjectID的一些用途。ObjectID的某些用途会引发此错误,而有些则不会。唯一重要的是ObjectID的来源。如果它是从现有集合中提取的,它可以工作。如果我自己生成它(例如,使用ObjectID.createFromHexString),它会像上面一样失败。 最佳答案

node.js - mongodb错误: The 'cursor' option is required,除了聚合解释

我正在使用mongodb3.5.5和mongoose4.9.8并且Node.js版本是7.10,当我将我的应用程序发布到生产服务器时,发生了错误,但在我的开发环境中工作。我该如何解决?错误信息:{MongoError:The'cursor'optionisrequired,exceptforaggregationexplainatFunction.MongoError.create(/data/deploy/aaa/webapp/node_modules/mongodb-core/lib/error.js:31:11)at/data/deploy/aaa/webapp/node_mod

mongodb - meteor .js : How to run check() when arguments are Mongodb ObjectId's?

在我的一些Meteor方法中,我从客户端发送MongodbObjectId作为参数。我想通过Meteor的check()系统运行这些,但我似乎找不到任何与它们成功匹配的东西。我试过了varsomeObjectId=Meteor.Collection.ObjectId();check(someObjectId,Meteor.Collection.ObjectId())//failscheck(someObjectId,{_str:String})//failscheck(someObjectId,String)//fails非常感谢任何帮助! 最佳答案

mongodb:UnknownError 断言 src/mongo/db/server_options_helpers.cpp:355

到目前为止,我一直在运行mongodb,没有任何问题。我真的不知道发生了什么,因为不记得有什么奇怪的事情。不过,现在当我尝试启动mongo服务器时出现以下错误。$mongod--config/usr/local/etc/mongod.conf2015-01-22T13:58:04.153+0100Assertionfailuregetcwd(buffer,1000)src/mongo/db/server_options_helpers.cpp3552015-01-22T13:58:04.169+01000x1017ae5aa0x1017591350x101745bf20x1015509

c++ - boost-program-options:无值(value)选项的通知程序

只有当它们具有value_semantic时,才能将通知器用于已解析的选项。给定通知程序自动处理无值选项的最佳方式是什么?简单的方法是使用隐式赋值创建一个虚拟的value_semantic,这样用户就可以在没有值的情况下传递选项。这导致了显式提供值的可能性。如果提供了值,可以添加运行时检查并引发错误。更新:但是,这在有位置选项的情况下不起作用,因为位置选项的值可以跟随无值选项,将异常作为给定值。 最佳答案 俄罗斯程序员论坛上的一个人OXPEHOMETP给了我一个使用boost::program_options::bool_switc

c++ - 是否可以 move boost::optional ?

我一直在尝试在具有boost::optional成员变量的类中定义默认move构造函数。#include#include#includestructbar{std::vectorvec;};structfoo{foo()=default;foo(foo&&)=default;boost::optionalhello;};intmain(){fooa;foob(std::move(a));}我的编译器同时支持move语义和默认的move构造函数,但我无法让它工作。%clang++foo.cc-std=c++11-stdlib=libc++foo.cc:15:7:error:calltod

c++ - 为什么返回 std::optional 有时会移动,有时会复制?

请参阅下面返回UserName的可选项的示例-可移动/可复制的类。std::optionalCreateUser(){UserNameu;return{u};//thisonewillcauseacopyofUserNamereturnu;//thisonemovesUserName}intmain(){autod=CreateUser();}为什么return{u}会导致复制而returnu会移动?以下是相关的大肠杆菌样本:http://coliru.stacked-crooked.com/a/6bf853750b38d110另一个案例(感谢@Slava的评论):std::uniqu

c++ - How to get around GCC ‘*((void*)& b +4)’ may be used uninitialized in this function warning while using boost::optional

我有类似下面的代码:#include::boost::optionalgetitem();intgo(intnr){boost::optionala=getitem();boost::optionalb;if(nr>0)b=nr;if(a!=b)return1;return0;}当使用GCC4.7.2和Boost1.53进行编译时,使用以下命令:g++-c-O2-Wall-DNDEBUG发出以下警告:13:3:warning:‘((void)&b+4)’maybeuseduninitializedinthisfunction[-Wmaybe-uninitialized]显然,根本问题在

c++ - boost::program_options::notify() 有什么用?

这个问题是关于C++Boostprogram_options库的。所有教程都非常清楚,我应该在我完成的变量映射上调用notify(),但我不确定这实际上对我做了什么。注释掉似乎没有任何效果,文档也没有详细说明:http://www.boost.org/doc/libs/1_47_0/doc/html/boost/program_options/notify.html其他消息来源表明它运行“用户定义”功能。如果是这样,这些函数是如何注册的,它们是做什么的?他们会抛出异常吗? 最佳答案 notify()是memberfunctionof

c++ - 可变参数模板 : "Sorry, unimplemented: cannot expand ' Identifier. 的 GCC 错误。 .' into a fixed-length argument list"

在GCC上使用C++11进行可变参数模板编程时,偶尔会收到一条错误消息,提示“抱歉,未实现:无法将'标识符...'扩展为固定长度的参数列表。”如果我删除代码中的“...”,我会得到一个不同的错误:“错误:参数包没有用'...'扩展”。因此,如果我输入了“...”,则GCC将其称为错误,如果我将“...”取出,则GCC也将其称为错误。我能够处理这个问题的唯一方法是使用不同的方法从头开始完全重写模板元程序,并且(幸运的是)我最终想出了不会导致错误的代码。但我真的很想知道我做错了什么。尽管谷歌搜索并进行了大量实验,但我无法确定我在产生此错误的可变参数模板代码和没有错误的代码之间所做的不同。错