2013-10-21 1 views
10

क्या मोंगोडेब के $ प्रोजेक्ट एग्रीगेशन ऑपरेटर के लिए दस्तावेज़ को सरणी में पुन: स्थापित करने के लिए संभव है? मैं आसानी से पुनर्गठन

[ 
    ['..','..'] 
    .... 
] 

:

[ 
    { 
    x: '...', 
    y: '...' 
    } 
.... 
] 

मैं चाहूँगा के लिए:

var pipeline = []; 
var project = { 
    $project : { 
     x: "$_id", 
     y: "$y" , 
     _id : 0 
    } 
}; 
pipeline.push(project); 
model.aggregate(pipeline, callback); 

यह मैं फार्म के उत्पादन देता है:

यहाँ मैं अब तक क्या किया है इसे पुन: उत्पन्न करके आउटपुट, लेकिन यह जानने के लिए वास्तव में उत्सुक है कि क्या कुल वस्तु ऑब्जेक्ट के बजाय सरणी वापस कर सकती है।

उत्तर

4

आप $ पुश ऑपरेटर के साथ प्रयास कर सकते हैं।

उदाहरण के लिए

, यदि आप जैसे दस्तावेज़ों था:

{ _id: <something>, y: 5 } 

मोंगो खोल में, यदि आप टाइप

db.model.aggregate([ { $group: { _id: null, newArrayField: { $push: { x: "$_id", y: "$y" } } } } ]) 

आप मिल जाएगा:

{ 
    "result" : [ 
     { 
      "_id" : null, 
      "newArrayField" : [ 
       { 
        "x" : ObjectId("5265dd479eb4b1d4289cf222"), 
        "y" : 5 
       } 
      ] 
     } 
    ], 
    "ok" : 1 
} 

अधिक जानकारी के लिए $ पुश ऑपरेटर पर, http://docs.mongodb.org/manual/reference/operator/aggregation/push/

देखें
+6

"परिणाम" करना चाहेंगे कर सकते हैं: [[ObjectId ("5265dd479eb4b1d4289cf222"), 5]] –

संबंधित मुद्दे