2016-11-10 1 views
0

Mein Dokument:

{ 
    "_id" : ObjectId("5824a9472e94e0995d3b0f0c"), 
    "full_name" : "Kelly Denise Benavides", 
    "aliases" : [ 
     "Kelly D Benavides", 
     "Kelly Benavides" 
    ] 
} 

ich das Dokument suchen bin zu wollen und senden Sie das Dokument, wenn der Benutzer ‚Kelly D Benavides‘ eintritt. Ich habe versucht mit:

$person = Person::where('aliases', 'Kelly D Benavides')->first(); 

ich die richtige Art und Weise glauben, dies zu tun elemMatch nutzt aber nicht klar auf der Syntax. Irgendwelche Zeiger?

Antwort

1

Methode # 01

db.collection.find(
    { aliases: { $elemMatch: { "Kelly D Benavides" } } } 
) 

Methode # 02

db.collection.find({"aliases":{$elemMatch:{"$in":["Kelly D Benavides"], "$exists":true}}}) 


Person::where('aliases', 'elemMatch', array('Kelly D Benavides'))->first(); 

Person::where('aliases', 'all', ['Kelly D Benavides'])->first(); 
+0

Dank. Die db.collection.find ({"Aliase": {$ elemMatch: {"$ in": ["Kelly D Benavides"], "$ exists": true}}}) funktioniert super. Allerdings, wenn ich versuche, Person :: wo ('Aliase', 'elemMatch', Array ('Kelly D Benavides')) -> first(); es sagt '$ elemMatch benötigt ein Objekt' – kratos

Verwandte Themen