Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/24.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
Ruby Mongo-插入后返回ID_Ruby_Mongodb - Fatal编程技术网

Ruby Mongo-插入后返回ID

Ruby Mongo-插入后返回ID,ruby,mongodb,Ruby,Mongodb,例如: result = collection.insert_one({ name: 'test' }) 现在,假设新文档已成功插入,如何获取其ID?有没有办法从结果中获取它?某些语言/驱动程序似乎可以使用,但不知道如何使用,除非我随后运行了查询。您可以先生成id,然后发送包含id的插入 oid = BSON::ObjectId.new result = collection.insert_one({ _id: oid, name: 'test'}) 这样,您就已经拥有了所有信息,不需要返回

例如:

result = collection.insert_one({ name: 'test' })

现在,假设新文档已成功插入,如何获取其ID?有没有办法从
结果中获取它?某些语言/驱动程序似乎可以使用,但不知道如何使用,除非我随后运行了查询。

您可以先生成id,然后发送包含id的插入

oid = BSON::ObjectId.new
result = collection.insert_one({ _id: oid, name: 'test'})

这样,您就已经拥有了所有信息,不需要返回任何信息。

您可以先生成id,然后发送包含id的插入

oid = BSON::ObjectId.new
result = collection.insert_one({ _id: oid, name: 'test'})
这样,您就已经拥有了所有的信息,不需要返回任何信息。

您也可以这样做

oid = result.inserted_id
请参考

您也可以这样做

oid = result.inserted_id

请参考

您使用的是默认/官方驱动程序吗。我现在链接了它。你在使用吗?只是默认的/官方的驱动程序。我现在链接了它。这是一个好决定,因为Mongo在插入后不会返回任何内容。同意它的工作原理,谢谢。我仍然想知道是否有任何方法可以让服务器返回它。@mahemoff:不,我不这么认为。这是一个好的决定,因为Mongo在插入后不会返回任何内容。同意它的工作,谢谢。我仍然想知道是否有什么办法可以偷懒,让服务器返回。@mahemoff:不,我不这么认为。