![](/img/trans.png)
[英]Can I query views from a couchdb update or validate_doc_update function?
[英]Can you query the DB inside a validate_doc_update function?
我正在使用 validate_doc_update 函數對要存儲的 object 進行基本驗證。 例如,這對於確保存在某些字段非常有用。 但是有沒有辦法根據 validate_doc_update function 中的查詢進行驗證? 例如,我希望人們能夠注冊將物品帶到聚餐。 所以每個 object 都會有姓名、電話和食物(例如蘇打水、沙拉、薯條)的字段。 所以我的驗證 function 將檢查每個字段。 沒問題。 但我也想確保不超過兩個人注冊相同的食物(不僅僅是一個基本的獨特限制)。 因此,如果正在驗證具有食品價值“芯片”的新 object,並且數據庫中已經有 2 個具有食品價值“芯片”的對象,則驗證應該失敗。 有沒有辦法通過驗證文檔來做到這一點?
在 validate_doc_update 中沒有運行查詢的工具。
解決此問題的一種方法是將食品項目與用戶文檔分離; 取而代之的是一份代表便餐的文件:
{
_id: "potluck",
chips: {
needed: 2,
providers: ["user_id_1"]
},
soda: {
needed: 5,
providers: ["user_id_2","user_id_3"]
}
}
在這里驗證項目的注冊非常容易。 該文檔包含大量信息,例如始終needed - providers.length
。 用戶 id 的鏈接食品項目用戶已注冊提供。
通過這種方法,使用一兩個視圖很容易生成便餐報告。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.