2013-05-09 7 views
20

Jeśli używam Mongoose w node.js muszę zrobić:Jak stworzyć nową db w mangoku?

var mongoose = require('mongoose'); 
mongoose.connect('mongodb://localhost/myDB'); 

Ale co, jeśli po prostu zainstalowany MongoDB i nie mam żadnych DB w tej chwili? Jak mogę utworzyć nową bazę danych za pomocą mangusty w pliku node.js przed wykonaniem mongoose.connect('mongodb://localhost/myDB')? Lub jeśli nie ma takiego myDB, to utworzy nowy? lub rzuci błąd, że nie ma takiego DB?

+0

spójrz na to http://mongoosejs.com/docs/ –

+4

czy widzę tam interfejs API 'createNewDB (...)'? Nie. Jak utworzyć nowy DB za pomocą mangusty w node.js? – static

Odpowiedz

18

Nie powinien powodować żadnych błędów. Moment włożeniu dokumentu w jakiejkolwiek nowej kolekcji tego DB, gromadzenie i db zostanie utworzony

+1

Więc czy adres URL jest przeznaczony tylko do analizy adresu URL do serwera mongodb i nazwy bazy danych? dlaczego nie robisz tego osobno? – static

+0

Ten URL/mongoURI służy nie tylko do określenia nazwy serwera, ale także wielu innych rzeczy. Sprawdź to: http://docs.mongodb.org/manual/reference/connection-string/. Musisz również sprawdzić sterownik klienta, czy obsługuje on wszystkie. Ponadto, zamiast przekazywać dbName do mongoURI, ganczę, że możesz to zrobić osobno. Co najwyżej w java-driver, możemy to zrobić na pewno. –

0

W Mangusta, nowy rekord w bazie utworzonego podczas new mongoStore() jest wywoływana:

app.use(session({ 
    resave: false, 
    saveUninitialized: true, 
    secret: pkg.name, 
    store: new mongoStore({ 
     url: config.db, 
     collection : 'sessions' 
    }) 
    })); 

lub

const mongoStore = require('connect-mongo')(session);