Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js mongoose查询不返回位置_Node.js_Mongodb_Mongoose - Fatal编程技术网

Node.js mongoose查询不返回位置

Node.js mongoose查询不返回位置,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,这是我文档中的一条记录,其中包含我需要获取的位置字段 { "_id": { "$oid": "559c152fa439a961c357f931" }, "POST_ID": "354-20160", "MS_ID": "-", "MS_SPACEID": 0, "CAP_COLOR": "Grey", "METER_TYPE": "SS", "SMART_METE": "Y", "ACTIVESENS": "

这是我文档中的一条记录,其中包含我需要获取的位置字段

{
    "_id": {
        "$oid": "559c152fa439a961c357f931"
    },
    "POST_ID": "354-20160",
    "MS_ID": "-",
    "MS_SPACEID": 0,
    "CAP_COLOR": "Grey",
    "METER_TYPE": "SS",
    "SMART_METE": "Y",
    "ACTIVESENS": "N",
    "JURISDICTI": "SFMTA",
    "ON_OFF_STR": "ON",
    "OSP_ID": 0,
    "STREET_NUM": 2016,
    "STREETNAME": "CHESTNUT ST",
    "STREET_SEG": 3977000,
    "RATEAREA": "Area 5",
    "SFPARKAREA": "Marina",
    "LOCATION": {
        "type": "Point",
        "coordinates": [
            37.8007983983,
            -122.4368696024
        ]
    }
}
这就是我在mongoose中定义模式的方式

// mongoose scehma
var mongoose = require('mongoose');
var parkingSchema = mongoose.Schema({
    "POST_ID": String,
    "MS_ID": String,
    "MS_SPACEID": Number,
    "CAP_COLOR": String,
    "METER_TYPE": String,
    "SMART_METE": String,
    "ACTIVESENS": String,
    "JURISDICTI": String,
    "ON_OFF_STR": String,
    "OSP_ID": Number,
    "STREET_NUM": Number,
    "STREETNAME": String,
    "STREET_SEG": Number,
    "RATEAREA": String,
    "SFPARKAREA": String,
    "LOCATION": {
        "type": String,
        "coordinates": [Number]
    }
});

var Parking = mongoose.model('parking_info', parkingSchema);
module.exports = Parking;
返回记录的我的查询:

app.get("/parkings", function(req, res){
    Parking.find(function(err, parkings){
        if(err){
            console.log('error..');
            return handleError(err);
        }
        else {
            console.log('returning parkings..');
            res.send( parkings);
        }

    });

});
给出:

    [
{"_id":"559c152fa439a961c357f931","POST_ID":"354-20160","MS_ID":"-","MS_SPACEID":0,"CAP_COLOR":"Grey","METER_TYPE":"SS","SMART_METE":"Y","ACTIVESENS":"N","JURISDICTI":"SFMTA","ON_OFF_STR":"ON","OSP_ID":0,"STREET_NUM":2016,"STREETNAME":"CHESTNUT ST","STREET_SEG":3977000,"RATEAREA":"Area 5","SFPARKAREA":"Marina"},
{"_id":"559c1530a439a961c357f932","POST_ID":"354-21030","MS_ID":"-","MS_SPACEID":0,"CAP_COLOR":"Green","METER_TYPE":"SS","SMART_METE":"Y","ACTIVESENS":"N","JURISDICTI":"SFMTA","ON_OFF_STR":"ON","OSP_ID":0,"STREET_NUM":2103,"STREETNAME":"CHESTNUT ST","STREET_SEG":3979000,"RATEAREA":"Area 5","SFPARKAREA":"Marina"},
{"_id":"559c1530a439a961c357f933","POST_ID":"354-21160","MS_ID":"-","MS_SPACEID":0,"CAP_COLOR":"Yellow","METER_TYPE":"SS","SMART_METE":"Y","ACTIVESENS":"N","JURISDICTI":"SFMTA","ON_OFF_STR":"ON","OSP_ID":0,"STREET_NUM":2116,"STREETNAME":"CHESTNUT ST","STREET_SEG":3979000,"RATEAREA":"Area 5","SFPARKAREA":"Marina"},
{"_id":"559c1530a439a961c357f934","POST_ID":"363-05250","MS_ID":"-","MS_SPACEID":0,"CAP_COLOR":"Grey","METER_TYPE":"SS","SMART_METE":"N","ACTIVESENS":"N","JURISDICTI":"SFMTA","ON_OFF_STR":"ON","OSP_ID":0,"STREET_NUM":525,"STREETNAME":"COLUMBUS AVE","STREET_SEG":4295000,"RATEAREA":"Area 3","SFPARKAREA":""}
...

为什么位置不在查询结果中?有人能帮我修一下吗

位置字段的声明存在问题:

var parkingSchema = mongoose.Schema({
    ...
    "LOCATION": {
        "type": String,           //Mongoose assumes the field is of String type.
        "coordinates": [Number]
    }
});
您可以通过执行以下操作来纠正此问题:

var parkingSchema = mongoose.Schema({
    ...
    "LOCATION": {
        "type": {"type": String},           
        "coordinates": [Number]
    }
});

你没有在位置字段上创建任何索引吗?没有,我还没有,但是我需要吗?我不是在按坐标搜索,我只是正在查找所有文档。位置不也应该显示吗?如果您不进行基于地理位置的查询,那么您不需要索引。看一看我刚刚发布的答案。谢谢,这很有效。。但我还是不明白。类型是mongoose中的关键字还是什么?是的,带有类型字段的对象是在mongoose中指定模式字段属性的另一种方式。例如,
email:{type:String,unique:true,sparse:true}
createdAt:{type:Date,默认值:Date.now}
。当还需要为schema字段指定其他特征时,可以使用这种方法。