我想从我的路线之一的将ID
POST user/:id
并使用params [:id]创建对象。我没有打算将我的应用程序生成/自动增加:id作为_id使用时。 我试过了:
ObjectId("1").str
2015-04-23T14:22:14.888-0700 E QUERY Error: invalid object id: length
at (shell):1:1.
所以,我猜测它与我的极短:id(长度不是12个字节)有关。
一个更基本的问题:如何将:id转换为BSON ID?我对使_id为整数并不特别感兴趣,BSON字符串很适合我。
答案 0 :(得分:1)
使用Rails创建对象(本例中为用户)的默认路由是POST /users
。您可以自定义此路线,但不建议这样做。因此,请将您想要的其他数据与id
一起发送,并设置id
。
POST /users
{ _id: 123, name: "Maria" }
您可以使用
将整数ID转换为BSONBSON::ObjectId.from_data(123)
但我觉得在这种情况下没用。