से मिलान सभी वस्तुओं के सभी सरणी तत्वों गिनती मैं एक संग्रह है कि इस तरह की वस्तुओं पर गतिविधि के लॉग है:MongoDB मापदंड
{
"_id" : ObjectId("55e3fd1d7cb5ac9a458b4567"),
"object_id" : "1",
"activity" : [
{
"action" : "test_action",
"time" : ISODate("2015-08-31T00:00:00.000Z")
},
{
"action" : "test_action",
"time" : ISODate("2015-08-31T00:00:22.000Z")
}
]
}
{
"_id" : ObjectId("55e3fd127cb5ac77478b4567"),
"object_id" : "2",
"activity" : [
{
"action" : "test_action",
"time" : ISODate("2015-08-31T00:00:00.000Z")
}
]
}
{
"_id" : ObjectId("55e3fd0f7cb5ac9f458b4567"),
"object_id" : "1",
"activity" : [
{
"action" : "test_action",
"time" : ISODate("2015-08-30T00:00:00.000Z")
}
]
}
तो मैं followoing करते क्वेरी:
db.objects.find({
"createddate": {$gte : ISODate("2015-08-30T00:00:00.000Z")},
"activity.action" : "test_action"}
}).count()
यह रिटर्न "test_action" (इस सेट में 3) वाले दस्तावेज़ों की गिनती, लेकिन मुझे सभी test_actions (4 इस सेट पर 4) की गिनती प्राप्त करने की आवश्यकता है। मैं उसको कैसे करू?
बहुत बहुत धन्यवाद। "$ Unwind" से बचने के लिए बड़े डेटासेट पर जरूरी है। प्रश्न एक आकर्षण की तरह काम करता है। मेरा ज्ञान अब काफी बुनियादी है और मुझे वास्तव में यह नहीं पता कि यह अभी तक कैसे काम करता है :) लेकिन इसे ढूंढना आज के लिए मेरा होमवर्क होगा) – aokozlov