2014-10-25 16 views
5

Avevo creato una raccolta mongo denominata votes Che funzionava correttamente anche dopo aver aggiornato i pacchetti alla versione di Meteor più recente. Non ricordo di aver cambiato alcuna parte del codice di lavoro, ma sto ricevendo questi errori. Ho aggiornato il progetto utilizzando il comando meteor update e l'ho testato subito dopo l'aggiornamento. Ha funzionato con successo quella volta ma non ho idea del perché sto ricevendo questo errore. E, non sono sicuro di quale file sorgente devo aggiungere per ottenere aiuto ...Errore Meteor: un metodo denominato insert è già definito

Qualcuno può far luce?

W20141025-21:29:08.640(6)? (STDERR) 
W20141025-21:29:08.641(6)? (STDERR) /home/wasi/.meteor/packages/meteor-tool/.1.0.34.k7p01x++os.linux.x86_32+web.browser+web.cordova/meteor-tool-os.linux.x86_32/dev_bundle/lib/node_modules/fibers/future.js:173 
W20141025-21:29:08.641(6)? (STDERR)       throw(ex); 
W20141025-21:29:08.642(6)? (STDERR)        ^
W20141025-21:29:08.693(6)? (STDERR) Error: A method named '/votes/insert' is already defined 
W20141025-21:29:08.695(6)? (STDERR)  at packages/ddp/livedata_server.js:1439 
W20141025-21:29:08.696(6)? (STDERR)  at Function._.each._.forEach (packages/underscore/underscore.js:113) 
W20141025-21:29:08.697(6)? (STDERR)  at _.extend.methods (packages/ddp/livedata_server.js:1437) 
W20141025-21:29:08.697(6)? (STDERR)  at Mongo.Collection._defineMutationMethods (packages/mongo/collection.js:884) 
W20141025-21:29:08.698(6)? (STDERR)  at new Mongo.Collection (packages/mongo/collection.js:208) 
W20141025-21:29:08.699(6)? (STDERR)  at app/collections/collection.js:1:43 
W20141025-21:29:08.700(6)? (STDERR)  at app/collections/collection.js:58:3 
W20141025-21:29:08.701(6)? (STDERR)  at /home/wasi/AI/OVS/.meteor/local/build/programs/server/boot.js:168:10 
W20141025-21:29:08.702(6)? (STDERR)  at Array.forEach (native) 
W20141025-21:29:08.702(6)? (STDERR)  at Function._.each._.forEach (/home/wasi/.meteor/packages/meteor-tool/.1.0.34.k7p01x++os.linux.x86_32+web.browser+web.cordova/meteor-tool-os.linux.x86_32/dev_bundle/lib/node_modules/underscore/underscore.js:79:11) 
=> Exited with code: 8 
=> Your application is crashing. Waiting for file change. 
[=================== ] 94% 4.8s 
+2

molto probabilmente stai ridefinendo la collezione "voti". –

+3

@ChristianFritz Oh! fatto. La mia cartella di backup del progetto è stata incidentalmente incollata sulla radice del progetto. Meteor unisce tutte le sottodirectory, quindi la raccolta 'voti' è stata ridefinita. Grazie! – Wasi

risposta

2

Penso che tu abbia gli stessi nomi per i metodi in app/collections/collection.js

0

ho incontrato lo stesso messaggio di errore, è successo dopo che ho riorganizzato la struttura delle cartelle della mia candidatura. Avevo una raccolta Javascript denominata drivers.js in una cartella denominata both e avevo un altro file Javascript con lo stesso nome (e codice) in both\collections\drivers.js.

Quindi il messaggio di errore è più o meno corretto. Solo un'occhiata strana, almeno sul mio sistema.

5

il codice del file xyz.js è

console.log("This is test panel ...."); 
    new Mongo.Collection('players');   <<-------remove This line 
    PlayersList = new Mongo.Collection('players'); 

rimuovere

new Mongo.Collection('players'); 
3

ho avuto questo errore perché avevo new'd stessa collezione mongo in due variabili diverse.

ad es.

CrowdEstimates = new Mongo.Collection('crowdEstimates'); 
CrowdEstimateAggregations = new Mongo.Collection('crowdEstimates'); 

Taglia e incolla e la distrazione ....

6

Si prega di notare: Se si sta utilizzando il Angular-Meteortutorial per costruire l'applicazione Socially e si utilizza un ambiente di sviluppo integrato (IDE) come WebStorm, che è in grado di compilare automaticamente TypeScript su JavaScript, la mia risposta probabilmente ti aiuterà a risolvere questo problema.


Ho ricevuto questo errore senza ridefinire una raccolta. Più tardi ho scoperto che il mio IDE (WebStorm 2016.1) ha causato duplicati, perché ha compilato automaticamente TypeScript su JavaScript anche se Meteor gestisce questo lavoro per noi. Fortunatamente mi sono liberato di questo errore semplicemente disabilitando il compilatore TypeScript in WebStorm e cancellando i file di output del compilatore.

Quindi, se WebStorm chiede se si desidera compilare TypeScript su JavaScript, dire No!

WebStorm - Compile TypeScript to JavaScript

Se si è già incasinato la configurazione, andare al WebStormPreferenzeLingue & Frameworksdattiloscritto e deselezionare la "Enable dattiloscritto Compiler" opzione:

TypeScript Compiler in WebStorm Preferences

Dopo di che, eliminare i file di output del compilatore dattiloscritto:

WebStorm TypeScript Compiler Output

Ora l'applicazione dovrebbe funzionare di nuovo. Buona programmazione!

+0

Ho lottato con questo problema per un giorno intero. Grazie mille –

Problemi correlati