0
私はNodeJS
+ ExpressJS
+ RethinkDB
というAPIを書いています。しかし、update
またはinsert
を実行している間にデータ結果を返すことに問題があります。
次の例では、関数はupdate
になります。クエリーは必要に応じて機能しますが、result
は空のオブジェクト{}
ですが、古いデータや新しいデータなどの状態データを含むオブジェクトを返す必要があります。
成功のRethinkDBは空のオブジェクトを返します
クエリ
router.put('/users/contact_data/:user_id', (request, response) => {
let user_id = request.params.user_id;
let updateFields = clean_obj.getCleanObject(request.body);
r.db(db_name).table('User')
.get(user_id)
.do((client)=>{
return r.db("Planner").table('ContactData')
.get(client("contact_data_id"))
.update(
updateFields,
{
returnChanges: true
}
)
}
)
.run(request._rdb)
.then(cursor => cursor.toArray())
.then(result => {
response.send(result);
})
.catch(error => response.send(error));
});
予想される結果は、(rethinkdbドキュメントからコピーされた)のようになります。
{
deleted: 0,
errors: 0,
inserted: 0,
changes: [
{
new_val: {
id: 1,
author: "Julius_Caesar",
title: "Commentarii de Bello Gallico",
content: "Aleas jacta est",
views: 207
},
old_val: {
id: 1,
author: "Julius_Caesar",
title: "Commentarii de Bello Gallico",
content: "Aleas jacta est",
views: 206
}
}
],
replaced: 1,
skipped: 0,
unchanged: 0
}
私は私が間違っているのかを理解することはできません
...