2017-02-17 7 views
0

マイドキュメント構造:カウント

{ 
    "_id" : ObjectId("58a55f1a1f19ce1c0c436418"), 
    "Status" : false, 
    "Headers" : [ 
     "Campaign Name", 
     "Ad Set Name", 
     "Ad Name", 
     "URL Tags", 
     "Bid Amount", 
     "Ad Set Daily Budget", 
     "Campaign Status", 
     "Ad Set Run Status", 
     "Ad Status", 
     "Campaign Objective", 
     "Buying Type", 
     "Ad Set Time Start", 
     "Use Accelerated Delivery", 
     "Link Object ID", 
     "Optimized Conversion Tracking Pixels", 
     "Optimized Event", 
     "Countries", 
     "Location Types", 
     "Gender", 
     "Age Min", 
     "Age Max", 
     "Custom Audiences", 
     "Excluded Custom Audiences", 
     "Flexible Inclusions", 
     "Targeting Optimization", 
     "Publisher Platforms", 
     "Facebook Positions", 
     "Device Platforms", 
     "Automatically Set Bid", 
     "Use Average Bid", 
     "Optimization Goal", 
     "Optimization Conversion Window (Days)", 
     "Billing Event", 
     "Story ID", 
     "Conversion Tracking Pixels", 
     "Creative Type", 
     "Instagram Account ID" 
    ], 
    "CampaignId" : "Promoted | Kristin Filomena 2 | S:1176609245738008 | 02-14-2017 | 69", 
    "AdSetId" : 100.0, 
    "AdId" : "ACTIVE", 
    "Values" : [ 
     "Remarketing | Facebook | Conversions | 02-14-2017", 
     "Cancelled Orders_Greater than 50%-Cancelled Orders_Less than 50% | Desktop | Feed | Female | 21-65", 
     "Promoted | Kristin Filomena 2 | S:1176609245738008 | 02-14-2017 | 69", 
     "utm_source=Facebook&utm_medium=social&utm_campaign=Remarketing | Facebook | Conversions | 02-14-2017&utm_term=Cancelled Orders_Greater than 50%-Cancelled Orders_Less than 50% | Desktop | Feed | Female | 21-65&utm_content=Promoted | Kristin Filomena 2 | S:1176609245738008 | 02-14-2017 | 69", 
     "100", 
     "50", 
     "PAUSED", 
     "ACTIVE", 
     "ACTIVE", 
     "Conversions", 
     "AUCTION", 
     "02/14/2017 19:02", 
     "No", 
     "o:147003252031951", 
     "tp:274128649620874", 
     "ADD_PAYMENT_INFO", 
     "US", 
     "home", 
     "Female", 
     "21", 
     "65", 
     "23842531891940746:Cancelled Orders_Greater than 50%, 23842531892040746:Cancelled Orders_Less than 50%", 
     "23842531887430746:Current Customers_All, 23842531979690746:Complete Registration - Last180Days", 
     "", 
     "none", 
     "Facebook", 
     "Feed", 
     "Desktop", 
     "No", 
     "No", 
     "OFFSITE_CONVERSIONS", 
     "1", 
     "IMPRESSIONS", 
     "s:1176609245738008", 
     "tp:274128649620874", 
     "Link Page Post Ad", 
     "" 
    ] 
} 

私はMongoDBのコレクションに類似した構造を持つ288件の文書を持っています。 "値"配列に "リマーケティング| Facebook |コンバージョン| 02-14-2017"の値が含まれているcampaignIdフィールドの個数を取得する必要があります( Values配列の要素です。最初に 1)。あなたはこのような何かを試すことができますどのような私は、これまでされており、

db.adsets.aggregate([ 
         {$match:{Values:"Lookalike | Facebook | Conversions | 02-14-2017"}}, 
         {$project:{_id:0,Values: 1}}, 
         {$unwind:"$Values"}, 
         {$group:{_id:"$Values",count:{$sum:1}}}, 
         {$project:{_id:0,Values:1,count:1}} 
        ]); 

答えて

1

を行っている

。これにより、少なくとも1つの要素が一致する条件がある文書の数が表示されます(Values)。

db.collection.count({Values:"Lookalike | Facebook | Conversions | 02-14-2017"}}) 

アップデート:私は私のタイトルが間違って書いた

db.collection.distinct("CampaignId", {Values:"Lookalike | Facebook | Conversions | 02-14-2017"}).length; 
+0

申し訳ありませんが、私はCAMPAIGNID –

+1

問題ありませんの明確な数をカウントする必要があります。更新された答え。それがあなたのために働くかどうか見てください。 – Veeram

+0

ありがとう、あなたは素晴らしいです。私は以前に何をしようとしているのか分かりません。あなたはとても見やすくなりました。 –