8

Meteorのドキュメントによると....

collection.insert(doc, [callback])

コールバック関数

オプション。存在する場合、エラー オブジェクトを最初の引数として、_id を 2 番目の引数として呼び出します。

...その後、ダウン...

サーバー上でコールバックを提供しない場合は、データベースが書き込みを確認するまでブロックを挿入するか、何か問題が発生した場合は例外をスローします。コールバックを提供すると、insert はすぐに戻ります。挿入が完了する (または失敗する) と、コールバックは、メソッドの場合と同様に、エラーと結果の引数で呼び出されます。

error と _id または error と result のどちらですか? エラーでコールバックを正しく起動しているMeteor.methodsがあり、結果はスコープで利用できます。

collection.insert(doc, [callback]) でコールバックを正しく動作させることができません

いずれにせよ、コールバックを取得して何かを登録することはできませんか?

function insertPost(args) {
  this.unblock;
  if(args) { 
    post_text = args.text.slice(0,140);
    var ts = Date.now();  
    Posts.insert({
      post: post_text,
      created: ts
    }, function(error, _id){
      // or try function(error, result) and still get nothing 
      // console.log('result: ' + result);
      console.log('error: ' + error);
      console.log('_id: ' + _id); //this._id doesn't work either
    });

  }
  return;
}

私は何を間違っていますか?私は午前 2 時からコーディングを行っています...私のタイムゾーンは午後 6 時です.

乾杯スティーブ

4

2 に答える 2

6

これはサーバー側のコードなので、次のことができます。

var id = Posts.insert({data}); // will block until insert is complete

IDが利用可能になります。

于 2012-05-09T10:30:17.910 に答える
6

これはバグで、次のリリースで修正されました。ここで、 にコールバックを提供すると、と引数でinsert呼び出されます。ここで、 は新しいドキュメントの ID、またはエラーが発生した場合は null です。errorresultresult

于 2012-05-09T18:41:31.313 に答える