Ich habe diese Sammlung:MongoDB Abfrage auch für Kindelemente
[
{
username : "User1",
theme : [
{
name : "Theme1",
posts : [
{
text : "test1",
postdate : 1,
comments : [
{username: "User1"}
]
},
{
text : "test2",
postdate : 2,
comments : [
{username: "User2"}
]
},
{
text : "test3",
postdate : 3,
comments : [
{username: "User3"}
]
}
]
}
],
},
]
Und ich möchte, um zu überprüfen, ob es einen Kommentar von „User1“ für den Posten mit dem Text „test1“ ist. Ich habe dies bisher versucht, aber es funktioniert nicht:
db.user.find({ "theme.posts.text" : "test1" , "theme.posts.comments.username" : "User1"});
EDIT:
Das Problem ist, wenn ich für „test1“ Ich suche ein Ergebnis bekommen und als ich für „test2“ suchen Ich bekomme auch ein Ergebnis. Ich will aber nur ein Ergebnis, wenn der Beitrag mit dem Text "test1" einen Kommentar von "User1" hat. Also ich möchte überprüfen, ob ein Beitrag mit Text X einen Kommentar von Person Y hat.
Was ist die richtige Lösung?
Vielen Dank!
Können Sie sagen, welcher Teil nicht funktioniert? Gibt es eine erwartete Ausgabe, nach der Sie suchen? – Veeram
@Veeram Ja! Ich habe es bearbeitet. – user6586661