2016-05-03 7 views
0

ich unter Aggregatabfrage bin mit der Liste der Restaurant Streichhölzer Stichwortsuche „chinesisch“ in der Liste der IDs übergeben zu bekommen,Geschlossen: Ich möchte zurück Liste der IDs in meiner Aggregatabfrage, ich bin neu in MongoDB

db.business.aggregate([ 
    { 
     $match:{ 
     $text:{ 
      $search:"chinese" 
     } 
     } 
    }, 
    { 
     $match:{ 
     "_id":{ 
      $in:[ 
       ObjectId("571453a82ece1392240f7b91"), 
       ObjectId("5714537b2ece1392240f7b8c"), 
       ObjectId("5714539a2ece1392240f7b8e"), 
       ObjectId("571453962ece1392240f7b8d") 
      ] 
     } 
     } 
    }, 

]) 

Unten sind die Beispieldaten in Mongodb.

{ 
    "_id" : ObjectId("571453b32ece1392240f7b93"), 
    "_class" : "com.halal.sa.data.entities.Business", 
    "name" : "Chillies", 
    "description" : "nice restaurant", 
    "cuisine" : [ 
     "veg-nonveg", 
     "chinese", 
     "kabab" 
    ], 
    "address" : { 
     "streetAddress" : "1000 bentley road", 
     "city" : "marietta", 
     "pincode" : 30067, 
     "landmark" : "near delk road", 
     "location" : { 
      "type" : "Point", 
      "coordinates" : [ 
       -84.4774305, 
       33.9202151 
      ] 
     } 
    }, 
    "phone" : 123, 
    "email" : "[email protected]", 
    "ownerEmail" : "[email protected]", 
    "status" : "2", 
    "website" : "test.com", 
    "authenticity" : "1" 
} 

lassen Sie mich bitte die genaue modifizierte Aggregat Abfrage wissen, welche nur Liste der _ids zurückkehren wird stattdessen alle Dokumente aus der Sammlung zurück. Vielen Dank im Voraus

Antwort

0

Ich habe es nur das $ Projekt in der Abfrage verwendet, das ist es :-)

db.business.aggregate([ 
    { $match: { $text: { $search: "chinese" } } }, 
    { $match: { "_id": {$in : [ObjectId("571453a82ece1392240f7b91"), ObjectId("5714537b2ece1392240f7b8c"),ObjectId("5714539a2ece1392240f7b8e"),ObjectId("571453962ece1392240f7b8d")]} } },  
    {$project: {"_id": "$_id"}} 
]) 
Verwandte Themen