我在MongoDB中有兩個集合。第一個包含關於一些足球教練的信息,第二個包含關於球隊的數據。 例如,這是教練收集的文件:關於不同集合的兩個查詢 - MongoDB
{
"_id" : ObjectId("556caaac9262ab4f14165fca"),
"name" : "Luis",
"surname" : "Enrique Martinez Garcia",
"age" : 45,
"date_Of_birth" : {
"day" : 8,
"month" : 5,
"year" : 1970
},
"place_Of_birth" : "Gijòn",
"nationality" : "Spanish",
"preferred_formation" : "4-3-3 off",
"coached_Team" : [
{
"team_id" : "Bar.43",
"in_charge" : {
"from" : "01/july/2014"
},
"matches" : 59
},
{
"team_id" : "Cel.00",
"in_charge" : {
"from" : "9/june/2013",
"to" : "30/june/2014"
},
"matches" : 40
},
{
"team_id" : "Rom.01",
"in_charge" : {
"from" : "7/june/2011",
"to" : "10/may/2012"
},
"matches" : 41
}
這裏是團隊收集的文件:
{
"_id" : "Bar.43",
"official_name" : "Futbol Club Barcelona",
"country" : "Spain",
"started_by" : {
"day" : 28,
"month" : 11,
"year" : 1899
},
"stadium" : {
"name" : "Camp Nou",
"capacity" : 99354
},
"palmarès" : {
"La Liga" : 23,
"Copa del Rey" : 27,
"Supercopa de Espana" : 11,
"UEFA Champions League" : 4,
"UEFA Cup Winners Cup" : 4,
"UEFA Super Cup" : 4,
"FIFA Club World cup" : 2
},
"uniform" : "blue and dark red"
}
嗯,我知道蒙戈不支持集合之間的連接。 現在假設我在一個名爲x的數組中保存了對團隊集合的查詢返回。 例如:
var x = db.team.find({_id:"Bar.43"}).toArray()
現在我想用這個數組x查詢主教練收集和發現,執教的球隊與教練的ID。 我想在某些方面,但他們不工作:
[1]
db.coach.aggregate([{$unwind:"$coached_Team"},{$match:{"coached_Team.team_id:"x[0]._id"}}])
[2]
db.team.find({"x[0]._id":{$in:coached_Team}})
附:我在論壇上尋找類似的問題,答案不答覆我的。例如,
This不起作用。
你沒有試過你的查詢嗎?引用'x [0] ._ id'的引號,因爲它將它編碼爲一個字符串,並且不會查找變量的內容。 – Simulant