how to copy mongodb data from local to virtual machine? - mongodb

I got an application from my developer and he asked me to host it over intranet. When i try to host it from virtual machine(cloud server), the mongo db data are missing from the collections.
Steps followed to host a site:
Copied the nodejs application folder from local to virtual machine.
Gave ng build followed by NPM start.
Now the mongodb connection is opened and able to see my database but the collections are empty.
Can anyone suggest me how to backup/copy the mongo db data from local to VM?
Thanks in advance

I think MongoDB backup/restore will help
https://docs.mongodb.com/manual/tutorial/backup-and-restore-tools/
from your local
mongodump --archive=test.20150715.gz --gzip --db test
move the backup file to your VM then run:
mongorestore --archive=test.20150715.gz --db test

Related

How to connect MongoDB to power BI

everyone! need to connect powerBI to mongoDB
what I have:
I installed mongodb bi connector and ODBC driver.
started mongod
mongod start
and mongosqld
mongosqld start
also did: mongoimport --db localtest --collection zips --file C:\data\db\zips.json
After that, with following dsn connected pbi to this file:
local dsn
So, now I need to connect not ot local file, I thought it would be enough to create a new dsn with new credentials - but it was not(
connection that i need
Please, help me, what else should I do?

How to Backup a Meteor Mongo Database?

To create a backup of my mongo database, I am trying mongodump from my meteor console. The command successfully completes, but creates an empty folder under the dump folder. I use the command
mongodump -h 127.0.0.1 --port 3001 -d meteor
So basically I am trying to backup my database for reactionecommerce. My question is how to backup a meteor mongodb that is running locally? Thanks for any guidance of help.
The issue was with the mongo version 2.6.10. I installed the latest 3.4.4 in my Ubuntu 64 machine following the instructions https://docs.mongodb.com/master/tutorial/install-mongodb-on-ubuntu/ Now I am able to dump the data without any problem.

Initialize a Mongodb on server

I want to use a script to initialise a MongoDB on a production server from my mongodb developpement instance.
I tried this method on local and it works
https://docs.mongodb.org/manual/tutorial/create-an-auto-incrementing-field/
#jeorfevre you told me about the import, Can you please give me a small exemple with the import, I found something you talk about this? docs.mongodb.com/manual/reference/program/mongoimport
Thanks in advance :)
once you have your database dev database ready to be installed in production.
Launch a command line
run mongodump
mongodump --host mongodb.example.net --port 27017 --out /path/backup/
transfert the exported file to the server (this depends on server envs)
run mongorestore on the server
mongorestore --port 27017 /path/backup/

Can I mongodump from within my app?

My client wants to be able to dump the DB and also import, if need be, from within the app. Is this possible?
Thanks.
[EDIT]
I need to execute this in javascript. The client wants to be able to click a button in the app to export the DB.
Yes you can do this
If your app is running (locally on port 3000, add 1 to the port) it will dump to a directory called dump in your current working directory.
mongodump --port 3001
You can also restore the same way, from within the dump directory of the database you're looking to restore (usually meteor)
mongorestore --port 3001 --db meteor ./meteor
Keep in mind to use these tools you need mongodump and mongorestore installed. On mac you can install them with homebrew (mac) or aptitude (ubuntu)

Copying MongoDB Database into Local Machine

I have a MongoDB database that resides on a remote server machine whose IP address is 192.168.1.20 on a local network. For development and testing purposes, and since I am not allowed to modify or delete the database on the server for security purposes, I want to copy the database on my local machine for my personal use.
Can anyone please tell me, how do I achieve this?
I do this by creating a dump of the remote db to my local machine, which I then restore:
Make sure you have a mongo instance up and running (eg. run mongod.exe from your bin folder in a terminal window. On my windows computer that's C:\mongodb\bin)
Make a dump from remote db: Open a new terminal window, move to the bin folder again, run:
mongodump -h example.host.com --port 21018 -d dbname --username username --password yourpass
(Change the parameters to suit your own situation.)
Restore the dumped database: Once the dump has been made, run the following command so that you have a local db:
mongorestore -d theNameYouWantForYourLocalDB dump\nameOfRemoteDB
(replace nameOfRemoteDB with the name of the remote db, the same as in previous command, and replace theNameYouWantForYourLocalDB with the name that you want your new local db to have)
There is copy database command which I guess should be good fit for your need.
db.copyDatabase("DATABASENAME", "DATABASENAME", "localhost:27018");
Alternatively, you can just stop MongoDb, copy the database files to another server and run an instance of MongoDb there.
EDIT 2020-04-25
Quote from MongoDB documentation
MongoDB 4.0 deprecates the copydb and the clone commands and their mongo shell helpers db.copyDatabase() and db.cloneDatabase().
As alternatives, users can use mongodump and mongorestore (with the mongorestore options --nsFrom and --nsTo) or write a script using the drivers.
Reference here
This should be a comment to the answer of #malla, but I don't have enough reputation to comment so I'm posting it here for other's reference.
In step 2, When you are trying to dump file from a remote server, remember to add out option so that you can restore locally later: (in my first try, I didn't add it and it failed, saying dump\db_name was not found).I'm not sure whether my way efficient or not. But it worked for me.
Step 2:
mongodump -h example.host.com --port 21018 -d dbname --username username --password yourpass --out <path_you_want_to_dump>
Step 3:
mongorestore -d theNameYouWantForYourLocalDB \<path_you_want_to_dump> + nameOfRemoteDB
The mongoexport command:
http://docs.mongodb.org/manual/core/import-export/
Or, mongodump command:
http://docs.mongodb.org/manual/reference/program/mongodump/
mongodb has commandline tools for importing and exporting. Take a look at mongodump --collection collection --db test and mongorestore --collection people --db accounts dump/accounts/
http://docs.mongodb.org/v2.2/reference/mongodump/
http://docs.mongodb.org/v2.2/reference/mongorestore/
this even works over the network
You can use the mongoexport command to copy the database to your local machine.