आईएएम स्पैगोबी के तहत ग्रोवी स्क्रिप्टिंग का उपयोग कर। मैं एकत्रीकरण का उपयोग करना चाहता हूँ। मैं चाहता हूँ उदाहरण निम्नलिखित एकत्रीकरण पर अमल करने के लिए:मोंगो डीबी: ग्रोवी भाषा का उपयोग करके एकत्रीकरण
db.myCollection.aggregate(
[
{
$group : {
_id : { day: { $dayOfMonth: "$recvTime" } }
}
}
]
)
मैंने कोशिश की:
An unexpected error occured while executing dataset: { "serverUsed" : "192.168.1.160:27017" , "errmsg" : "exception: invalid operator '$project'" , "code" : 15999 , "ok" : 0.0}
कोई भी विचार:
DBObject projectFields = new BasicDBObject('$dayOfMonth',"recvTime");
DBObject project=new BasicDBObject('$project',projectFields)
DBObject groupFields = new BasicDBObject("_id",project);
DBObject group = new BasicDBObject('$group', groupFields);
iterable = db.getCollection('myCollection').aggregate(group)
मैं यह त्रुटि मिल गया?
अपडेट: क्वेरी मोंगो में मार डाला
db['cygnus_/kurapath_enocean_power_enocean'].aggregate(
... [
... {
... $group : {
... _id : { day: { $dayOfMonth: "$recvTime" } }
... }
... }
... ]
...);
{ "_id" : { "day" : 9 } }
{ "_id" : { "day" : 8 } }
{ "_id" : { "day" : 7 } }
{ "_id" : { "day" : 4 } }
{ "_id" : { "day" : 3 } }
मोंगो DB में संग्रहीत डेटा शैल:
db['cygnus_/kurapath_enocean_power_enocean'].find()
{ "_id" : ObjectId("55e81e9631d7791085668331"), "recvTime" : ISODate("2015-09-03T10:19:02Z"), "attrName" : "power", "attrType" : "string", "attrValue" : "2085.0" }
{ "_id" : ObjectId("55e81e9631d7791085668332"), "recvTime" : ISODate("2015-09-03T10:19:02Z"), "attrName" : "power", "attrType" : "string", "attrValue" : "2085.0" }
{ "_id" : ObjectId("55e81e9831d7791085668333"), "recvTime" : ISODate("2015-09-03T10:19:04Z"), "attrName" : "power", "attrType" : "string", "attrValue" : "2077.0" }
मैंने आपके कोड की कोशिश की लेकिन मुझे एक नई त्रुटि मिली :(: 'डेटासेट निष्पादित करते समय एक अनपेक्षित त्रुटि हुई: ऐसी कोई संपत्ति नहीं: दिन के लिए ओफमोन्थ: स्क्रिप्ट 11 9' जब मैंने 'DBObject dateFields = new BasicDBObject ('$ dayOfMonth'," recvTime ");' मुझे ' डेटासेट निष्पादित करते समय एक अनपेक्षित त्रुटि आई: {" serverUsed ":" 192.168.1.160:27017 "," errmsg ":" अपवाद: बीएसओएन प्रकार स्ट्रिंग से तारीख में परिवर्तित नहीं हो सकता "," कोड ": 16006," ठीक है ": 0.0}' – sabrina2020
आप अपने '" रिकॉटाइम "फ़ील्ड में '$' शामिल करना भूल गए हैं, इसलिए अपनी लाइन' डीबीओबीजेक्ट डेटफिल्ड्स = नया बेसिक डीबीबीब्जेक्ट ('$ डेऑफ मॉन्थ', "रिकवटाइम") 'डीबीओबीजेक्ट डेटफिल्ड्स =' नया बेसिक डीबीबीब्जेक्ट ('$ dayOfMonth' ', "$ recvTime") '। – chridam
मैंने कोड को 'DBObject dateFields = new BasicDBObject (' $ dayOfMonth ', "$ recvTime") में अपडेट किया है, लेकिन मुझे यह त्रुटि मिली है' डेटासेट निष्पादित करते समय एक अनपेक्षित त्रुटि हुई: ऐसी कोई संपत्ति नहीं: कक्षा के लिए recvTime ', अगर मैंने अपडेट किया 'DBObject dateFields = new BasicDBObject ('$ dayOfMonth', '$ recvTime'); 'मुझे एक खाली परिणाम सेट मिला है – sabrina2020