我在架构中有一个Number数据类型(simple-schema)但在使用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
答案 0 :(得分:4)
如前所述,将decimal
设置为true将允许浮点数。
我只是想提出另一个建议。由于您正在尝试存储log / lat,因此这将是一个更好的架构:
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
答案 1 :(得分:2)
您可以将decimal
设置为true(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,
}
});