0
Event Schema:
Name:String,
Description: String,
Location:[
ll:[long,lat]
type: String (source,destination)
],
CreatedDate:Date,
UpdatedDate:Date,
例子:
{
Name : 'Test1',
Description : 'Test1',
Location:[{
ll:[{long:-118.2436849,lat:34.0522342}],
type: 'source'
},{
ll:[{long:2,lat:4}],
type: 'destination'
}]
}
我有具有與上述相同結構的7個文件。
當我做一個查詢:
db.events.count({'location.ll' : {$near:[-118.2436849,34.0522342]},'location.type':'source'});
我得到14計數回。我理應得到7條記錄,但我得到了14條記錄。我不確定我做錯了什麼。
我已經索引字段「location.ll」爲「2D」
請讓我知道我在做什麼錯?
感謝您的幫助
謝謝菲利克斯的信息。我剛剛找到了我的查詢的答案。再次感謝你。雖然,我還有一個問題要問:是否可以在一個位置和相關類型上進行查詢。 db.events.findOne({'location.ll':{$ near:[2,4],$ uniqueDocs:true,$ maxDistance:1/3959},'location.type':'d'})。理想情況下,這應該不會給我任何結果,因爲我正在查詢半徑1英里[2,4]附近的所有點。但它給了我一個結果 – Anup
不確定'$ near',因爲我在實踐中使用'geoNear'指定了'query'。也許你可以試試:) –
還有一點需要注意,我猜你需要'$ elemMatch',但根據[這個bug報告](https://jira.mongodb。 org/browse/SERVER-7581) –