平均を使用してアプリケーションを作成しようとしています。私は私のmongodbデータベースのスキーマにmongooseを使用しています。 String、Number、およびDateフィールドを含む1つのコレクションで、データベースに保存しようとするとエラーが発生します。使用によって入力される情報の一部は、数字と日付です。これは私にエラーを与え、私はそれを保存しないことに気付きます。質問:フォームの情報をキャプチャした後、StringからNumberに、StringからDateに変換する必要がありますか?もしそうなら、私は次のように、文字列から数値にカバーする日とのparseIntに文字列を変換するDate.parseを変換しようとしている:フォームからmongodbコレクション情報を保存するのが難しい
app.post('/api/show/post', authCheck, function(req, res) {
console.log("Entrada a post");
console.log(req.body);
var ciaID = " ";
req.body.moveid = Date.parse(req.body.movein);
req.body.open = Date.parse(req.body.open);
req.body.close = Date.parse(req.body.close);
req.body.number = parseInt(req.body.number);
req.body.estimateamount = parseInt(req.body.estimateamount);
req.body.balancedue = parseInt(req.body.balancedue);
mongoose.model('company').findOne({name: "test company"}, function(err,doc){
var ObjectID = require('mongodb').ObjectID;
ciaID = new ObjectID(doc._id);
});
var show = new Show(req.body);
show.created_at = Date();
show.updated_at = Date();
show.created_by = "username";
show.updated_by = "username";
show.save(function(err, doc){
if (err) {
console.log(" the program all gets in here");
return err
}
else {
res.status(201).json(doc);
}
});
});
私はまた、これらの値のいずれかを変換し、いずれの場合もそれをしないようにしようとしました働いた。私は文字列フィールドだけを含む他のコレクションを持っており、私はそれに何ら問題はありません。
私は
が
mongodbがISOの日付フォーマットを受け入れるので、日付を保存する際に問題があるかもしれないので、これを試してみてください。crtDate = new Date(); var dateToSave = crtDate.toISOString(); – rroxysam
ありがとうございます。ですから、私はここでは、データベースのフィールドをDateからStringに変更することをお勧めします。私は正しいですか? – user3538384
あなたがdatを保存する際に問題がある場合は、あなたのモデルと保存する最終ショーオブジェクトを投稿してください。 – rroxysam