0
mongoDBにレコードを挿入したいと思います。私は、値の配列に新しい文書を挿入するmongoose、nodejsを使ってmongodb配列に文書を挿入します
var stockhistory = new Schema({
symbol: String,
values: [{
date: Date,
open: Number,
close: Number,
high: Number,
low: Number,
adjClose:Number,
volume: Number
}]
});
: DBモデルとしてあります。
私は以下を試みましたが、エラーが発生しました。
var insertObj = {
'date': obj[0].lt,
'open': obj[0].op,
'close': obj[0].l,
'high': obj[0].hi,
'low': obj[0].lo,
'adjClose': obj[0].l_fix,
'volume': obj[0].vo
};
var sname = 'symbol';
var History = require('../model/stockHistory');
var history = new History({ symbol: sname, values: insertObj });
history.save(function(err) {
if (err) {
return err;
} else {
console.log("Quote saved");
}
});
そして
History.findOneAndUpdate(
{symbol: sname},
{$push: {values: insertObj}},
{safe: true, upsert: true},
function(err, model) {
console.log(err);
}
私は、ドキュメントに関するわからない配列に挿入して、Googleで検索しかしを通じて得ていないの後に上記試してみました。
ありがとうございました!
編集
レコードが正常に作成されるようになりましたが、新しいレコードが文書としてではなく、私は新しいレコードを作成したいスクリーンショットを見て(下記のリンク)
を持ってarray.Please値の下に作成されています値は作成後のカウントが2696になり、代わりに別の新しいドキュメントが作成されます。あなたのスキーマに screenshot
返信ありがとうございます...あなたが提供したソリューションを試しましたが、レコードが挿入されませんでした。 – Jitesh
エラーを返しますか? – andresk
今作成されたレコードは、鉱山でも解決策でも作成されました.DATEフィールドの型キャストのためにエラーが発生しました。しかし、新しいレコードは別のドキュメントとして作成されますが、array.Iではありません。そこに見る。 – Jitesh