我正在使用this boilerplate制作流星应用。
我想从客户端向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
尚未定义。
我做错了什么?