4

Col1データベースに既に存在するコレクションがあるとします。したがって、次のようなことを行います。

var col = db.collection('Col1');
col.save({"name":"something"});

完全に正常に動作します。

Col2しかし、データベースにまだ存在しないコレクションが同じことで試行された場合、つまり

var col = db.collection('Col2');
col.save({"name":"something"})

同様に完全に正常に動作します。それが存在しないだけで、私のデータベースには表示されません。エラーが発生したり、使用できた可能性のあるものtrycatch結果のステートメントがスローされたりした場合。しかし、それはプレートから外れているため、コレクションが既に存在するかどうかをどのように知ることができますか?

4

4 に答える 4

2

col.save保存操作をすぐには実行しませんが、promise を返します。だから必ず成功する。解決策は、Promise が解決されるのを待ってから、エラーが発生したかどうかに応じて対応することです。

var col = db.collection('Col2');
col.save({"name":"something"}).then(
  meta => console.log('Document saved:', meta._rev),  
  err => { console.error('Failed to save document:', err.errorNum, err.response.body.errorMessage); }
);
于 2016-11-10T13:03:23.990 に答える