这是坐标的简单模式:
{
loc: {
type: Object,
index: '2dsphere',
label: "Location",
autoform: {
type: "hidden",
omit: true
}
},
"loc.type": {
type: String,
allowedValues: ["Point"],
label: "Start location type"
},
"loc.coordinates": {
type: [Number],
minCount: 2,
maxCount: 2,
decimal: true,
autoValue: function () {
var lat = document.getElementById("latitude");
var lng = document.getElementById("longitude");
var location1 = [lat, lng];
return location1;
}
}
}
作为方法,我在服务器端使用它:
Meteor.methods({
createLocation: function(userID,lat, lng) {
ComplaintSchema.upsert({_id: userID}, {coordinates: [lat, lng]});
}
});
对于客户端,我使用了这个:
'submit': function () {
var id = Meteor.userId();
var lat=document.getElementById("latitude").value;
var lng=document.getElementById("longitude").value;
Meteor.call('createLocation',id,lat,lng, function(err){
if(err) console.log("not going in");
});
Router.go('/Home');
}
抛出错误“不进去”。 如何在loc.coordinates中插入值,在这种情况下会是什么语法?会是这样的:
ComplaintSchema.upsert({_id: userID}, {"loc.coordinates": [lat, lng]});
它必须将loc.type的值添加为point,我该怎么做?
请帮助我。
提前谢谢。