Ich habe Mongo Dokument chatMessages alsWie kann man multidimensionales Array mit Bedingungen in mongodb zählen?
{
"_id" : ObjectId("5784dcd9db2c60b54b8b45d3"),
"sender_id" : "55505ad6b5a0925f4c8b7707",
"receivers_id" : [
"57715368db2c60e5208b4579"
],
"messages" : [
{
"_id" : ObjectId("5784e0fadb2c605c6d8b4578"),
"sender" : "57715368db2c60e5208b4579",
"message" : "hai",
"send_at" : NumberLong(1468326138),
"read_by" : [
{
"user" : "55505ad6b5a0925f4c8b7707",
"at" : NumberLong(0)
}
]
}
],
"updated_at" : NumberLong(1468327157),
"created_at" : NumberLong(1468327157)
}
ich über ein Gesamt ungelesenen Nachrichten aus dem Dokument finden müssen. Angenommen, meine aktuelle user_id ist 55505ad6b5a0925f4c8b7707
. Ich bin irgendwo stecken geblieben, um Ergebnisse zu erzielen. So helfen Sie mir Jungs
aktualisieren
$unread_messages = ChatMessages::find([
'conditions' => [
'$or' => [
['sender_id' => $user_id],
['receivers_id' => ['$elemMatch' => ['$eq' => $user_id]]]
],
'messages.sender' => ['$ne' => $user_id]
]
]);
erste Abfrage einige Ergebnisse gezeigt haben sollte, aber ich null Wert für $or operator
Können Sie uns zeigen, wo Sie stecken bleiben? – chridam
@chridam können Sie die Updates sehen –