2

このボイラープレートを使用して流星アプリを作成しています。

クライアント側から MongoDB にデータを挿入し、このデータを html ファイルで使用したいと考えています。

ただし、Meteor アプリはクライアント Mongo (minimongo) をサーバー側 (MongoDB) に接続していないようです。クライアント側のリポジトリでコマンドを実行しようとすると{CollectionObj}.insert、データが MongoDB に書き込まれません。コマンドでコレクションを確認しましたmeteor mongoが、新しいデータはありません。

そこで、サーバー側で以下のコードを書きました。(Contractsコレクションは別のファイルで定義されます。)

Meteor.methods({
  'insert_contracts': function(address, price, amount, exeday, premium, position, contract_address, abi){
     Contracts.insert({
       seller: address,
       price: price,
       amount: amount,
       exeday: exeday,
       premium: premium,
       position: position,
       contract_address: contract_address,
       abi: abi
     });
  }
});

そして、クライアント側でこれを書きました:

Meteor.call('insert_contracts', address, price, amount, exeday, premium, position, contract_address, abi);

というわけでinsert関数を実装したのですが、クライアント側のコードだけを使ったシンプルな実装に変更したいです。

機能にも問題がありfindます。

私が試したサーバーで:

'find_contracts': function(){
  return Contracts.find({});
}

次に、クライアント側から呼び出します。

'click .btn-success': function(event) {
   var hoge = Meteor.call('find_contracts');

しかし、hogeまだ定義されていませんでした。

私は何を間違っていますか?

4

0 に答える 0