2

スキーマ (simple-schema) に Number データ型がありますが、collections2 を使用すると浮動小数点数を格納できません。

Schema.Coordinates = new SimpleSchema({ lng: { type: Number, min: -180.0, max: 180.0 }, lat: { type: Number, min: -90.0, max: 90.0 } });

整数以外のもの (xxxx.0 を含むもの) を挿入しようとすると、検証エラーが発生します。

W20150222-20:24:23.523(-8)? (STDERR) Error: Lng must be an integer

4

2 に答える 2

4

すでに述べたように、decimaltrue に設定すると浮動小数点数が許可されます。

別の提案をしたかっただけです。ログ/緯度を保存しようとしているので、これはより良いスキーマになります:

loc:
   type: Object
   index: '2dsphere'
   label: "Location"

"loc.type": 
   type: String
   allowedValues: [ "Point" ]
   label: "Start location type"

"loc.coordinates":
   type: [Number]
   minCount: 2
   maxCount: 2
   decimal: true

これにより、サーバー上でMongo の空間演算子 ( $nearなど) を使用できるように、座標をGeoJSON形式で保存できます。

于 2015-02-23T09:37:18.687 に答える
3

decimaltrue ( docs ) に設定できます。これは、他の回答のようにオプションの他のものに少し似ていると思います。

Schema.Coordinates = new SimpleSchema({
    lng: {
        type: Number,
        min: -180.0,
        max: 180.0,
        decimal:true,
    },
    lat: {
        type: Number,
        min: -90.0,
        max: 90.0,
        decimal: true,
    }
});
于 2015-02-23T07:28:24.923 に答える