2017-04-12 78 views
0

我在後面插入特定的行,並在ID字段中使用我自己的自定義ID,在檢查數據庫時,我發現ID被更改爲backand自己的ID,該ID從1,2,3開始依次。我希望我的原始ID保留,文檔沒有提到這一點。請幫忙。自定義標識在backand中被覆蓋嗎?

迴應馬茨回答:

我的問題明確指出,我不想要「創造」新的ID,我要保留我的,我已將原來的ID。在第N次瀏覽Backand的糟糕文檔後,我看不到這個問題。我個人覺得它很愚蠢,Backand認爲用戶提供的id(這通常需要相當大的算法來保持唯一性和隨機性並不好),並且他們的超酷自動增量整數1,2,3 ..是更好的主鍵,因此覆蓋客戶ID。所有的支持人員都像馬鸚鵡一樣重複同樣的路線,甚至沒有理解我的具體要求。不,我不能從後面創建隨機ID,因爲相同的ID映射到其他系統。爲了上帝的緣故,請修復你的文檔。無處是它提到,它將覆蓋ID。對於例如:Firebase首先檢查用戶提供的ID,如果它在那裏,它沒有觸及它,如果它不存在,它創建它自己的,但我不能使用firbase自己的限制,切換到Mongo希望應該有所幫助。

+0

正如我在下面提到的那樣,它在專門用於用UUID替換自動增量ID的部分的標註中清楚地陳述。這個完全相同的過程可以用來填充任何你喜歡的ID。 –

回答

0

感謝您使用Backand。您可以使用我們的文檔中介紹的使用UUID作爲對象的主鍵的技術:http://docs.backand.com/#using-uuid-primary-keys

通過遵循此方法,您可以將ID設置爲任何您想要的。否則,當您使用自動遞增整數將它們發送到API時,所有ID字段將被覆蓋。如果您在創建的自定義操作中覆蓋這些內容,則可以在創建時繞過此行爲。

編輯 - 作爲一種後續措施,避免Backand自動覆蓋數據的一種技術是訪問數據庫並刪除ID列,將表中的另一個標記爲主鍵。 Backand控制名稱字段以驅動一些自動完成功能。通過刪除ID字段並更改主鍵,或者簡單地刪除我們放在ID字段中的自動約束,您應該能夠實現您所需要的。但是,這不可能通過用戶界面來完成 - 它應該通過使用像MySQL Workbench這樣的工具直接連接到數據庫來完成。連接數據庫所需的信息可以從Backand App Dashboard的「設置」 - >「數據庫」下找到。另外,關於最初建議的解決方案,請注意,我並不打算盲目應用此信息。正如我所提到的,使用所描述的方法 - 創建自定義操作來驅動創建的ID - 可以適應填充任何您想要的ID字段。在示例代碼中,您可以代替生成GUID,而是從提供該ID的對象的其他字段中複製該值,或者真正做到您想要的任何內容。但是,關鍵是更新底層數據庫列以刪除自動增量填充並將數據類型更改爲正確的值。我已經調整了文檔以包含此處的提及。