Mongodb 从窗体保存坐标

Mongodb 从窗体保存坐标,mongodb,mongoose,Mongodb,Mongoose,我一直在尝试使用node/express/backbone/mongoose保存表单中的坐标,这可能与MongoDB本身有关 这是我的模式: var MySchema = new mongoose.Schema({ loc: {type:{type: String}, coordinates:[]} }); 然后 从HTML表单 <form> <fieldset> <label> Loctype: <input type="tex

我一直在尝试使用node/express/backbone/mongoose保存表单中的坐标,这可能与MongoDB本身有关

这是我的模式:

var MySchema = new mongoose.Schema({
 loc: {type:{type: String}, coordinates:[]}   
});
然后

从HTML表单

<form>
<fieldset>
  <label>
   Loctype:
  <input type="text" name="loctype" />
  </label>
 <label>
Longitude:
<input type="number" name="longi" />
</label>
<label>
 Latitude:
<input type="number" name="lati" />
</label>
</fieldset>
<p>
 <input type="submit" value="Register Now"/>
</p>
</form>

Loctype:
经度:
纬度:

然后我得到这个错误:

{[MongoError:无法从对象提取地理键,格式错误 几何?:{类型:“点”,坐标:[“37.677163”,“-1.696215”] }]名称:“MongoError”,错误:“无法从对象提取地理键, 几何体格式错误:{类型:“点”,坐标:[“37.677163”, “-1.696215”]},代码:16572,n:0,连接ID:200,正常:1 }


我遇到了同样的问题,您可能试图将位置数据保存为字符串数组,请确保坐标(经度和纬度)是数字数组

也就是说,坐标必须是

[ 37.677163, -1.696215 ]
而不是

 [ "37.677163", "-1.696215" ]
好的,刚刚解决了(在发布到这里之前我确实花了一天多的时间,但后来它亮了),所以答案就是在坐标中添加数字(坐标:[Number]}),效果很好
 [ "37.677163", "-1.696215" ]