Node.js 无法将随机字符串分配给_id字段。
我正在尝试使用驱动器将文档保存到mongodb中 我的对象有一个名为myid的字段,它是一个长度未知的字符串。我非常倾向于使用此ID作为我文档的_ID,但在我将值分配给_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
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字段的值的选择施加了不必要的限制。