一般的なドキュメントアップデートハンドラを作成しようとしています。CouchDBドキュメントアップデートハンドラ:Javascript
私が使用しています:
function(doc, req) {var field = req.query.field; var value =
req.query.value; var message = 'set '+field+' to '+value; doc[field] =
value; return [doc, message]; }
これは単純なJSONで[OK]を動作しますが、このような
"abc":{"ax":"one", "by":"two" ...}
としてネストされたオブジェクトと私のcurlコマンドがありません。
curl -X PUT 'http://127.0.0.1:5984/db/_design/updatehandler/_update/inplace/id?field=abc.ax&value=three'
結果新しいフィールドが作成され、既存のabc:{ax:one}がそのまま残されます 。単純な例では
:
私が持っている場合:"xyz":"five"
curl -X PUT 'http://127.0.0.1:5984/db/_design/updatehandler/_update/inplace/id?field=xyz&value=ten'
は...正常に動作します。
私はまだ"pqr":[s, t, u]
で一般的なプロセスを試していませんが、私は と考えていますが、これには別のデザイン変更が必要な場合もあります。
可能であれば少なくとも上記の3つのケースで動作するものがほしいと思うのは、それほど複雑ではない限り、努力する価値があることではありません。
誰かがここで親切に助けてくれたり、いくつかのjavascriptの例を参照してください。
多くのありがとうございます。
ジョン
@Alexisありがとうございます。この場合、あなたはcurl POSTコマンドのようなものを提案していますか? – jlb333333
[このドキュメントを参照](http://docs.couchdb.org/en/2.1.0/api/ddoc/render.html#post--db-_design-ddoc-_update-func) –
こんにちは@Alexis。有難うございます。あなたを困らせて申し訳ありません。 '{" error ":" render_error "、" reason ":"関数がエラーを起こしました:(新しいTypeError(\ "Object.assignは関数ではありません\" ' – jlb333333