Mi sono interfacciato con Twitter utilizzando nodejs. Sto cercando di registrare alcuni dati importanti dell'utente pubblico in un database mongolab mongodb. Per qualche ragione continuo a ricevere un "errore distrutto dalla topologia". Non sono abbastanza sicuro del motivo.Topologia nodo Mongolab distrutta
var Twitter = require('twitter');
var mongodb = require('mongodb');
var accounts = ['@zaynmalik',
'@ZooeyDeschanel'];
var client = new Twitter({
consumer_key: 'key',
consumer_secret: 'secret',
access_token_key: 'key',
access_token_secret: 'secret'
});
var MongoClient = mongodb.MongoClient;
var url = "mongodb://user:[email protected]:numbers/db";
MongoClient.connect(url, function (err, db) {
if (err) {
console.log('Unable to connect to the mongoDB server. Error:', err);
} else {
//HURRAY!! We are connected. :)
console.log('Connection established to database');
var collection = db.collection('accounts');
for(var i = 0; i < accounts.length; i++){
client.get('users/show', {screen_name: accounts[i]}, function(error, tweets, response){
if(error) console.log(error);
var account = {'screen_name': accounts[i], 'id': tweets.id};
collection.insert(account, {w:1}, function(err, result) {console.log(err);});
//collection.insert(account);
console.log(tweets.id); // Raw response object.
});
}
db.close();
}
});
Come si può vedere il programma stabilisce una connessione al database. Definisce la raccolta, quindi itera su un numero di account Twitter e registra le informazioni pertinenti. Le richieste di twitter hanno successo e il mongodb funziona con richieste semplici. Se hai qualche idea sul motivo per cui ricevo questa risposta, per favore rispondi.
La prima frase era il suggerimento di cui avevo bisogno per cercare il codice per correggere l'errore. Stavo letteralmente chiudendo la connessione Mongoose _prima_ una richiamata che consentiva all'inserzione di massa di completare il proprio compito. Grazie! – Saheed