2015-04-23 50 views
0

我想從我的路線Mongoid +回報率:初始化_id而創建()

POST user/:id 

之一獲得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字符串適合我很好。

回答

1

使用Rails創建對象(本例中爲用戶)的默認路徑爲POST /users。您可以自定義此路線,但不建議。所以發送id你想要的其他數據和你的id將被設置。

POST /users 
{ _id: 123, name: "Maria" } 

你可以一個整數ID轉換成BSON與

BSON::ObjectId.from_data(123) 

但我認爲,在這種情況下無用。

+0

是的,轉換是沒有必要的。謝謝。 – premunk