Ich habe ein Dokument, das auf die folgendenRethinkdb - Ungleich (ne) auf mehreren Feldern
{
...
reactions: [
{
user: 'user_id',
reaction: 'reaction_name'
}, {
user: 'user_id',
reaction: 'reaction_name'
}
]
...
}
ein Element in den Array-Reaktionen zu entfernen Ich versuche, ähnlich aussieht basierte auf einer Kombination von ‚user‘ und "Reaktion", die einzigartig sein wird. Wie würde ich das Filter-Array filtern, um dieses spezielle Element in rethinkdb mit dem js-Treiber zu entfernen?
habe ich versucht, diese
r.db('db_name').table('messages').getAll(
get_single_message
).update({
reactions: r.row('reactions').filter((item) => {
return item('reaction').ne(body.reaction).and(item('user').ne(body.user))
})
}).run(this._rdbConn)
Ich verstehe, warum es nicht funktioniert (alle Reaktionen zurückgibt, die Reaktion hat nicht gegeben, dann kehrt Teilmenge des Arrays, die nicht bestimmte Benutzer zugeordnet ist) . Was ich möchte, ist für diejenigen, die nicht gleich durchgeführt werden, so dass es ein Array zurückgibt, das keine Elemente enthält, die die angegebene Reaktion UND Benutzer haben. Im Moment funktioniert es eher wie Reaktion ODER Benutzer.
Sie sollten eine von ihnen als eine ausreichende Antwort @ millejo3 markieren verwenden! – dalanmiller