我在MongoDB的集合,它是像下面內刪除文件:
{
"_id" : "5327010328645530500",
"members" : [
{
"participationCoeff" : 1,
"tweetID" : "5327010328645530500"
},
{
"participationCoeff" : 1,
"tweetID" : "2820402625046999289"
},
{
"participationCoeff" : 0.6666666666666666,
"tweetID" : "6122060484520699114"
},
{
"participationCoeff" : 1,
"tweetID" : "4656669980325872747"
}
]
}
{
"_id" : "2646953848367646922",
"members" : [
{
"participationCoeff" : 1,
"tweetID" : "2646953848367646922"
},
{
"participationCoeff" : 0.75,
"tweetID" : "7750833069621794130"
},
{
"participationCoeff" : 0.5,
"tweetID" : "6271782334664128453"
}
]
}
基本上,收集具有集羣,其中集羣有一個_id
場和members
場。成員字段是一組文檔,具有以下格式。現在
{
"participationCoeff" : 1,
"tweetID" : "5327010328645530500"
}
,不時地,我對會員屬性集羣文件,通過匹配tweetID刪除這些子文件。
但是,我無法找到實現此效果的查詢。基本上,tweetID將參與許多集羣,因此將出現在多個集羣的「成員」屬性的多個子文檔中。我想提供批量的$ pull操作,我可以刪除所有羣集中的所有子文檔(即它們的成員屬性),這些文檔與特定的tweetID匹配。
一些幫助和直覺將會非常有幫助。
獲取以下錯誤。 '不能將$ pull/$ pullAll修飾符應用於非數組' – VaidAbhishek 2013-02-27 20:53:11
@VaidAbhishek這意味着您在集合中有一些文檔,其中'members'不是數組。 – JohnnyHK 2013-02-27 20:56:05
我不認爲我的收藏是這種情況。成員將是一個嚴格的數組類型屬性。 有什麼辦法使用聚合做到這一點! – VaidAbhishek 2013-02-27 21:01:25