私は少し問題があります:私はそれをクリーニングした直後に未加工レコードのリストをmongodbコレクションに挿入しようとしています。しかし、insert
メソッドからのフィードバックはありません。これは私のコードです:クリーニング後にmongoコレクションにデータを挿入できません
model.collection.remove((removeError, removeResult) => {
console.log('remove cb');
model.collection.insert(seeds, (insertError, insertedRecords) => {
console.log('insert cb');
});
});
は、実際に私は、マングースのAPIを使用してこれをやってみたかった(モデルはマングースのモデルである)が、この問題を探求する私の方法で私はネイティブドライバがこれを実行しないことを考え出しました同じように。私はマングースのラッパーを使用しようとしてきたものだ
:私は私が見るこのスクリプトを実行するときの成功を削除 'とそれがすべてだ
model.remove({}, (err, docs) => {
if (err) {
console.log('remove error');
} else {
console.log('remove success');
model.insertMany(seeds, (insertError, insertedRecords) => {
if (insertError) {
console.log('insert error');
} else {
console.log('insert success');
}
});
}
});
。そして、私は「成功を挿入」を除去処理をコメントアウトした場合は表示され
マイマングースモデルは本当に簡単です:
const schema = new Schema({
name: {type: String, unique: true, index: true},
});
seeds
変数:
export default [
{name: 'USA'},
{name: 'Germany'},
{name: 'France'}, ...
私が間違っているところを私に教えてくださいまたは私が理解できないもの
UPD
私はこれをMongoClient
を使って試してみました。
MongoClient.connect(url, function(err, db) {
const collection = db.collection('countries');
collection.deleteMany({}, (err, r) => {
console.log('delete', err);
collection.insertMany(seeds, (err, r) => {
console.log('insert', err);
db.close();
Country.find({}, function (err, res) {
console.log(res);
});
});
});
});
問題はマングースです。実際に私は{ModelName}.collection
がネイティブドライバだと思っていましたが、
私は 'remove'メソッドがコレクション自体ではなくコレクションからレコードを削除することを理解しています。 –
更新された回答を確認してください。 – Remario
私は両方のバリアントを試しましたが、結果は同じです –