2017-12-13 12 views
0

私はmongodbとmongooseでかなり新しいです。私のクエリが動作しているかどうかはわかりませんが、私のコードにgeojsonを追加するとnullが返されます。
私の唯一のターゲットは、州、国、州を使用してデータをフィルタリングし、近くの場所を検索することです。誰かが私を助けることができれば、本当に大きな助けになるでしょう。イムは、右のそれをやった場合、私は知らないおかげmongooseでgeolocationを使用してクエリを作成する方法(近くの場所での検索に使用)

var query = { 
    $and : [ 
    {city : new RegExp('^'+req.body.city+'$', "i") }, 
    {state : req.body.state}, 
    {country : req.body.country}, 
    { 
     loc : { 
     $nearSphere : { 
     $geometry : { 
      type : "Point", 
      coordinates : [-117.16108380000003,32.715738] 
     }, 
     $maxDistance : 100 
     } 
    } 
    } 
Business.find(query).populate('deal_id').sort({business_type : -1,deal_id : -1}) 
.exec(function(err,businesses){ 
    res.json(businesses) 
    return 
}) 

は、ここに私のサンプルデータです:

[ 
{ 
    "_id": "5a0b1f489929442c36fd5c83", 
    "business_row": 29160, 
    "created_at": "2017-11-14T16:52:10.130Z", 
    "owner_name": "David Lui", 
    "company_website": "", 
    "phone_number": "604-273-3288", 
    "contact_name": "David Lui", 
    "zip_postal": "V6X 3Z9", 
    "state": "British Columbia", 
    "country": "Canada", 
    "city": "Richmond", 
    "address": "3779 Sexsmith Rd # 2172 Richmond British Columbia", 
    "company_name": "Aem Seafood", 
    "__v": 1, 
    "slug": "Aem-Seafood&Richmond", 
    "loc": { 
     "coordinates": [ 
      "-123.129488", 
      "49.185359" 
     ], 
     "type": "Point" 
    }, 
    "deal_id": [], 
    "is_favorite": false, 
    "is_draft": false, 
    "has_featured": false, 
    "owner_id": [ 
     "5a0adcf9f7205f0004535def" 
    ], 
    "files": [], 
    "operations": [], 
    "sub_category": [], 
    "category_options": [ 
     { 
      "value": "5a0b186b9f3a4a2710075654", 
      "sub_cat": { 
       "value": "59f6d13d00086a6e645c50a4", 
       "label": "Meat And Fish Markets" 
      } 
     } 
    ], 
    "category_id": [ 
     "5a0b186b9f3a4a2710075654" 
    ], 
    "business_type_name": "Free", 
    "business_type": "0", 
    "user_id": [ 
     "5a0adcf9f7205f0004535def" 
    ] 
} 

]

答えて

0

iは都市、状態を照会する必要はありませんが判明し、それのための国と使用$ geoWithIn

関連する問題