このボイラープレートを使用して流星アプリを作成しています。
クライアント側から 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
まだ定義されていませんでした。
私は何を間違っていますか?