0
我有了城市的列表,狀態和郵政編碼MongoDB數據庫。我希望能夠運行一個查詢,根據用戶輸入檢查這些字段中的每一個,並且無法確定如何執行此操作。以下是文件中的DB的例子:的NodeJS,貓鼬 - 查詢城市,州或郵編
{"_id":"92199","city":"San Diego","state":"CA"}
這是我的路我使用返回該文檔:
app.get('/city/:city', function(req, res){
var query = City.aggregate([
{ $group: { _id: "$zip", city: {"$first" : "$city"}, state: {"$first" : "$state"} } },
{ $match: {"city": new RegExp(req.params.city, "i")} }
]);
query.exec(function(err, city){
if(err){
console.log(err);
return res.send(err);
}
console.log(city);
res.json(city);
});
});
的問題是,如果我的一些疑問加利福尼亞州聖地亞哥的查詢將失敗,因爲它只搜索城市。如何查詢城市,州和郵政編碼(_id),以便仍然可以返回一個值?
不應該聚集做一次,而不是每個請求 –
我只是用聚集,因爲我所有的搜索似乎指向它,你查詢多個字段的方式。 – yhussain
這聽起來像一個普通的查詢(不需要聚合的東西) - 你是什麼意思關於「查詢將失敗,因爲它只是搜索城市」? – Semicolon