bookshelf.jsを使用して、私はオブジェクトのセットを取得し、それらをすべて更新しようとしています。Bookshelf.js、fetchAll()メソッドの後に更新
私はBookshelf.jsで達成しようとしている何function markPostsAsSent(postsIds) {
return new Promise((resolve, reject) => {
// Get posts
Search.Post
.where({ id: postsIds })
.fetchAll()
.then(posts => {
// For each post, update sent value
Promise.map(posts.toJSON(), post => post.save({ is_sent: true }))
.then(() => {
resolve(true);
}, err => {
reject(Dependencies.getException(exceptionName, 500, 'POST_UPDATE_ERROR', new Error(), err));
});
}, err => {
reject(Dependencies.getException(exceptionName, 500, 'POST_FETCH_ERROR', new Error(), err));
});
});
}
は、SQLでこれに相当します。
UPDATE searches_posts
SET is_sent = true
WHERE id IN (1, 2, 3, 4);
(1, 2, 3, 4)
は明らかにpostsIds
パラメータの値です。
SQLは、Bookshelf.jsメソッドよりもはるかに単純です。
.save()メソッドをループするのではなく、これらの行をすべて同時に更新する方が良いですか?
ありがとうございました!これは最高です! – DeadEye