2017-03-15 12 views
0

私はgeojsonの場所フィールドと場所に基づいてレコードのクエリを持つことができますmongooseモデルを作成しようとしていますが、私はまた、自動的に含まれるように設定されていません。クエリの近くにmongooseの空の場所フィールドを含むレコードを含める

私も、私は空の場所フィールドを作成できることを確認するために、真 sparse条件を設定したが $nearクエリを呼び出すと、このエラーが発生している

unable to find index for $geoNear query

私はどのようにこのクエリがすべきための答えを見つけようとしていますどんな助けにも感謝しています。

これは私のモデルである:

var EventSchema = new mongoose.Schema({ 
    loc: { 
    "type": { type: String, default: 'Point' }, 
    coordinates: [Number] 
    }, 
    pos: Number, 
    active: Boolean 
}); 
EventSchema.index({ loc: '2dsphere' }, { sparse: true }); 

そして、これはクエリです:

exports.index = function (req, res, next) { 
    Event 
     .find({ active: true }) 
     .near('loc', { center: point, spherical: true, maxDistance: 5000, distanceMultiplier: 6378.1 }) 
     .sort('pos') 
     .limit(6) 
     .lean(true) 
     .exec(function (err, events) { 
     if(!events) { 
     res.status(400).json(err || {status: false, message: 'No Events'}); 
     } 
     else 
     res.status(200).json(events); 
    }); 
} 

答えて

0

は、あなたがこれを試してみてくださいにスキーマ:

var EventSchema = new mongoose.Schema({ loc: { "type": [ Number ] , index: '2dsphere' } , pos: Number , active: Boolean });

関連する問題