Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 无法将随机字符串分配给_id字段。_Node.js_Mongodb_Monk - Fatal编程技术网

Node.js 无法将随机字符串分配给_id字段。

Node.js 无法将随机字符串分配给_id字段。,node.js,mongodb,monk,Node.js,Mongodb,Monk,我正在尝试使用驱动器将文档保存到mongodb中 我的对象有一个名为myid的字段,它是一个长度未知的字符串。我非常倾向于使用此ID作为我文档的_ID,但在我将值分配给_ID字段并保存文档后,我收到如下错误: Error: Argument passed in must be a single String of 12 bytes or a string of 24 hex characters 这是MONK或MongoDB驱动程序引入的限制吗?有没有办法解决这个问题?在mongodb sh

我正在尝试使用驱动器将文档保存到mongodb中

我的对象有一个名为myid的字段,它是一个长度未知的字符串。我非常倾向于使用此ID作为我文档的_ID,但在我将值分配给_ID字段并保存文档后,我收到如下错误:

Error: Argument passed in must be a single String of 12 bytes or a string of 24 
hex characters

这是MONK或MongoDB驱动程序引入的限制吗?有没有办法解决这个问题?在mongodb shell中,您可以使用任何值作为_id

这是monk抛出的错误。您可以覆盖id函数:

collectionName.id = function(str){return str;};

请参阅:

我不认为这是MongoDB错误,因为我会说这是MONK强加的,您可能会想打开并发布它,您实际上是如何更新的?为了澄清这一点,Monk正试图将id值“转换”到ObjectId中,因此产生了这条消息。Neil,谢谢。我现在明白了,但真的很讨厌这个“功能”。它对_id字段的值的选择施加了不必要的限制。