यदि आप ऐसा करना चाहते हैं, तो आप शायद अपने डेटा को एक अलग तरीके से स्टोर करना चाहते हैं। MongoDB आम तौर पर शीर्ष स्तर के क्षेत्रों के रूप में नेस्टेड दस्तावेज़ों में हेरफेर करने के साथ उतना अच्छा नहीं है। आपके मामले में, मैं सुझाव दूंगा कि ptime, pt और uid को उनके अपने संग्रह में विभाजित कर दें:
संदेश
{
"_id":417,
"ptime":ISODate("2013-11-26T11:18:42.961Z"),
"type":"1",
"txt":"test message"
},
उपयोगकर्ता
{
"id":417,
"ptime":ISODate("2013-11-26T11:18:42.961Z"),
"uid":"52872ed59542f",
"pt":ISODate("2013-11-26T11:18:42.961Z")
},
{
"id":417,
"ptime":ISODate("2013-11-26T11:18:42.961Z"),
"uid":"524eb460986e4",
"pt":ISODate("2013-11-26T11:18:42.961Z")
},
{
"id":417,
"ptime":ISODate("2013-11-26T11:18:42.961Z"),
"uid":"524179060781e",
"pt":ISODate("2013-11-27T12:48:35Z")
}
फिर आप uid, ptime और pt के लिए उपयोगकर्ता संग्रह पर एक अनुक्रमणिका सेट कर सकते हैं।
हालांकि टेक्स्ट संदेश स्वयं प्राप्त करने के लिए आपको दो प्रश्नों को करने की आवश्यकता होगी।