Коллекция метеорных вставок в обратном вызове сервера не работает

По сути, я пытаюсь получить wss-ленту от Poloniex и обновлять коллекцию, чтобы иметь возможность иметь "последние" цены в коллекции (я буду обновлять и перезаписывать существующие записи) и показывать ее на веб-странице. На данный момент у меня работает wss, и я просто пытаюсь вставить некоторые данные в коллекцию, чтобы увидеть, работает ли она, но это не так, и я не могу понять, почему!

Примечание: коллекция работает, я вручную вставил запись с оболочкой.

Вот код, который я сейчас имею:

import { Meteor } from 'meteor/meteor';
import * as autobahn from "autobahn";
import { Mongo } from 'meteor/mongo'
import { SimpleSchema } from 'meteor/aldeed:simple-schema'

//quick DB 
Maindb = new Mongo.Collection('maindb');

Maindb.schema = new SimpleSchema({
  place: {type: String},
  pair: {type: String},
  last: {type: Number, defaultValue: 0}
});

Meteor.startup(() => {
  var wsuri = "wss://api.poloniex.com";
  var Connection = new autobahn.Connection({
  url: wsuri,
  realm: "realm1"
  });

  Connection.onopen = function(session) 
  {

    function tickerEvent (args,kwargs) {
        console.log(args[0]);
        Maindb.insert({place: 'Poloniex', pair: args[0]});
    }

    session.subscribe('ticker', tickerEvent);


    Connection.onclose = function () {
        console.log("Websocket connection closed");
    }

}

Connection.open();

});

Консоль записывает ленту новостей, но вставка не работает. Я посмотрел в Интернете, и он сказал, что, чтобы получить вставку для работы, когда в функции "не Метеор", вы должны использовать Meteor.bindEnvironment что я и сделал:

Я изменился

    function tickerEvent (args,kwargs) {
        console.log(args[0]);
        Maindb.insert({place: 'Poloniex', pair: args[0]});
    }

который стал

    var tickerEvent = Meteor.bindEnvironment(function(args,kwargs) {
        console.log(args[0]);
        Maindb.insert({place: 'Poloniex', pair: args[0]});
    }); tickerEvent(); 

Который ничего не делает - даже не печатает канал на моей консоли. Используя эту же структуру, но просто удаляя Meteor.bindEnvironmentснова печатает на консоль, но не обновляет.

Я делаю что-то неправильно?

0 ответов

Другие вопросы по тегам