我有這個集合MongoDB中提取文件,如果元件A的時間是相同的文檔
db.Tratte.insert(
{
"TransportID":["9901","9903"],
"StopsBy":[
{"Station":"Roma Termini",
"StopsAt":ISODate("2016-01-01T09:05:00Z"),
"LeavesAt":ISODate("2016-01-01T09:25:00Z")},
{"Station":"Napoli Centrale",
"StopsAt":ISODate("2016-01-01T10:37:00Z"),
"LeavesAt":ISODate("2016-01-01T10:52:00Z")},
{"Station":"Salerno",
"StopsAt":ISODate("2016-01-01T11:35:00Z")}]
})
db.Tratte.insert(
{
"TransportID":"9999",
"StopsBy":[
{"Station":"Salerno",
"StopsAt":ISODate("2016-01-01T09:05:00Z"),
"LeavesAt":ISODate("2016-01-01T09:25:00Z")},
{"Station":"Napoli Centrale",
"StopsAt":ISODate("2016-01-01T10:37:00Z"),
"LeavesAt":ISODate("2016-01-01T10:52:00Z")},
{"Station":"Roma Termini",
"StopsAt":ISODate("2016-01-01T11:35:00Z")}]
})
,並在輸入給兩個站不到元素B的時候,我想只有那些文件,其中例如,如果我選擇作爲A站羅馬Termini站和B站Salerno站,系統必須返回上面的第一個文件(因爲時間(Roma)時間(Salerno))
我在想這樣做的唯一方法是提取所有包含兩個站的文件,檢索他們的時間,如果他們符合我的標準返回的做cument。但是這個解決方案太神祕了。有沒有一個單一的查詢來做到這一點?
我的最終目標是: 我需要一種方式來獲得,例如,羅馬 - >薩勒諾文件,但不薩勒諾 - >羅馬文件,當用戶搜索兩個站。問題是我得到了兩個方向,但我只想要正確的一個。 謝謝
是的,我可以重新建模架構 – CiroRa