MongoDB
 sql >> डेटाबेस >  >> NoSQL >> MongoDB

सी # ड्राइवर का उपयोग कर मोंगोडीबी में उप दस्तावेज़ को क्वेरी/अपडेट कैसे करें?

1)

QueryComplete = Query.EQ(_id, "2012_11_10");
DayData myData = db.GetCollection<DayData>("DayDataCollection").FindOne(query);
// As HourData is the class member you can retrieve it from the instance of the DayData:
HourData myHour = myData.HR1;

2)

QueryComplete = Query.EQ(_id, "2012_11_10");
UpdateBuilder update = Update.Inc("HR1.Count", 1);
db.GetCollection<DayData>("DayDataCollection").Update(query, update, SafeMode.True)

;

3) आपके मामले में आप केवल डेडाटा इंस्टेंस पुनर्प्राप्त करें और फिर सभी आवश्यक मानों को स्पष्ट रूप से जोड़ दें:

QueryComplete = Query.EQ(_id, "2012_11_10");
DayData myData = db.GetCollection<DayData>("DayDataCollection").FindOne(query);
// As HourData is the class member you can retrieve it from the instance of the DayData:
int sum = myData.HR1.Count + myData.HR2.Count + ... + myData.HR24.Count;

लेकिन यह सुरुचिपूर्ण नहीं है। यदि आप सुरुचिपूर्ण समाधान चाहते हैं तो आपको अपने क्षेत्रों को सरणी में बदलना होगा जैसे:

DayData
{
HR:
[{
Count: 1,
Data: "Hour 1 data"
},
{
},
...
]
}

और सरणी के साथ के रूप में काम करें। मुझे बताएं कि क्या इसे एक सरणी में बदलना संभव है।

4) आपके मामले में, फिर से, कोई सुरुचिपूर्ण समाधान नहीं है। आप क्या कर सकते हैं बस अपने क्षेत्रों के माध्यम से जाएं और एक सरणी बनाएं:

int[] Counts = new int[24];
Counts[0] = myData.HR1.Count;
...

या आप कक्षा में ही एन्यूमरेटर बना सकते हैं लेकिन मुझे लगता है कि यह आपके मामले में अधिक है।




  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. MongoDB के लिए ऑडिट लॉगिंग के साथ पूर्व-खाली सुरक्षा

  2. स्क्रैपी और मोंगोडीबी के साथ वेब स्क्रैपिंग और क्रॉलिंग

  3. धीमी मोंगोडीबी क्वेरी:क्या आप समझा सकते हैं क्यों?

  4. मोंगोडब और अधिकतम कनेक्शन

  5. इकाई की रूपरेखा और MongoDb