如何在Simple Schema中添加坐标作为autoValue?

时间:2016-03-07 12:31:08

标签: meteor

这是坐标的简单模式:

{
  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,我该怎么做?

请帮助我。

提前谢谢。

0 个答案:

没有答案