0
IDが既に存在するかどうかによって、配列(target
)にIDを追加または削除する必要があります。 - もし/ elseと分行わず
var isExisting = Articles.findOne({ _id }).target.indexOf(mID) > -1
if (isExisting === false) {
Articles.update(
{ _id },
{ $addToSet: { target: mID } }
)
} else if (isExisting === true) {
Articles.update(
{ _id },
{ $pull: { target: mID } }
)
}
がより良い方法でこれを行うには、それが可能です:これは私がこれをやっている方法です。 2つのDB操作?
データベースメソッドは実際には "非同期"なので、デモの方法で値を返すことはできないので、このような作業をするのは間違いありません。おそらく流星?また、あなたが基本的にあなたが存在していない場所を「追加」したい、あるいは存在しているときに「削除する」と言っているので、私はあなたのロジックに従っているかどうかはわかりません。だから、全体は実際のものよりも「擬似コード」のように見え、代わりにやるべきことの実際の例で行うことができます。 1つの要求で複数の操作を行うことは確かに可能です。しかし、あなたが実際にやりたいことは何も分かりません。 –
あなたは正しいです、私は流星を使用しています。そのためのタグを忘れてしまった。そして、はい、これは私の実際のコードです。私はそれを生産的に使っていますし、働いていますが、それはとても悪いと感じていますので、私はそれを最適化したいと思います... – user3142695