mongodbデータベースではfloatをキーとして使用しようとしています。それぞれの金額(0.01:10など)をそれぞれ保存する必要があるためです。しかし、私はmongoose(エクスプレスを使用してノードサーバー)を介してデータを保存しようとすると、通常の(ストリング)キーでデータをdbに保存するだけです。Mongooseはfloatをキーとして使用します
これは私のスキーマです:
var ProtokollSchema = new Schema({
"date": String,
"0.01": {type: Number, default: 0},
"0.02": {type: Number, default: 0},
"0.05": {type: Number, default: 0},
"0.10": {type: Number, default: 0},
"0.20": {type: Number, default: 0},
"0.50": {type: Number, default: 0},
"1.00": {type: Number, default: 0},
"2.00": {type: Number, default: 0},
...
});
これは、データを設定急行機能である:
.post(function(req, res) {
var protokoll = new ProtokollSchema();
protokoll["date"] = req.body["date"];
protokoll["0.01"] = req.body.data["0.01"];
protokoll["0.02"] = req.body.data["0.02"];
protokoll["0.05"] = req.body.data["0.05"];
protokoll["0.10"] = req.body.data["0.10"];
protokoll["0.20"] = req.body.data["0.20"];
protokoll["0.50"] = req.body.data["0.50"];
protokoll["1.00"] = req.body.data["1.00"];
protokoll["2.00"] = req.body.data["2.00"];
...
protokoll.save(function(err) {
if (err) res.json(err);
res.json({ message: "Comment successfully added!"});
});
})
は、解決策はありますかそれだけで行うことは可能ではないでしょうか?
ありがとうございます!これでデータはdbに保存されます。しかし、今はmongodbがドットをオブジェクトキーとして解釈するという問題があります。私は構造が得られます:0> 01、1> 00など。どのようにこれを修正するための任意のアイデア? – Dedpul
これで答えが見つかりました:https://stackoverflow.com/questions/12397118/mongodb-dot-in-key-name – Dedpul