Я храню продукты в базе данных CouchDB следующим образом:
{
"_id": "1ce330a867a803fd10082c4513000fe5",
"_rev": "4-a5eae6f790ea8b9cedea53db50a13fef",
"type": "Product",
"name": "Apple",
"price": 1
}
Я хотел бы создать проверку, чтобы убедиться, что каждый новый документ с type
Product
имеет поле name
. Единственная документация, которую я нашел, была http://guide.couchdb.org/draft/validation.html После прочтения я написал / скопировал эту проверку:
function(newDoc, oldDoc, userCtx) {
function require(field, message) {
message = message || "Document must have a " + field;
if (!newDoc[field]) throw({forbidden : message});
}
if (newDoc.type == "Product") {
require("name");
}
}
Чем я использую Fauxton для его создания:
Но это не работает. Я могу создать такой документ без поля name
. Что я делаю не так?