com.mongodb.MongoException: can't find any special indices: 2d (needs index), 2dsphere (needs index), for: { position: { $nearSphere: [ 120.344944, 36.067463 ] } }
at com.mongodb.QueryResultIterator.throwOnQueryFailure(QueryResultIterator.java:214)
at com.mongodb.QueryResultIterator.init(QueryResultIterator.java:198)
at com.mongodb.QueryResultIterator.initFromQueryResponse(QueryResultIterator.java:176)
at com.mongodb.QueryResultIterator.(QueryResultIterator.java:64)
at com.mongodb.DBCollectionImpl.find(DBCollectionImpl.java:86)
at com.mongodb.DBCollectionImpl.find(DBCollectionImpl.java:66)
at com.mongodb.DBCursor._check(DBCursor.java:458)
at com.mongodb.DBCursor._hasNext(DBCursor.java:546)
at com.mongodb.DBCursor.hasNext(DBCursor.java:571)
我已经利用
db.PostCo.createIndex( { location : "2dsphere" } )
db.PostCo.createIndex( { location : "2d" } )
创建相应的索引。
还是无法正常工作。
リーリー
Mongodb、2D検索、インデックスはこのように作成されたと記憶していますが、Javaで使用されているサードパーティパッケージによってエラーが報告されているようです。 mongodbコマンドラインでクエリするのは普通ですか?
db.PostCo.ensureIndex({"location":"2d"},{min:0,max:200}) 試してみます。
https://github.com/T-baby/Mon... を使用することをお勧めします。地理的位置クエリを実装するには、ドキュメント https://t-baby.gitbooks.io/mo... を参照してください。 , MongoDB-Pluginで簡素化ネイティブな書き方なので一度読めばすぐに始められます