Difference between revisions of "MongoDb"
From Hawk Wiki
(→Get around mac max file limit) |
(→Mongodb update record based on existing value) |
||
(3 intermediate revisions by the same user not shown) | |||
Line 22: | Line 22: | ||
<pre> | <pre> | ||
limit maxfiles 1000000 1000000 | limit maxfiles 1000000 1000000 | ||
+ | </pre> | ||
+ | |||
+ | edit mongo config | ||
+ | <pre>sudo vim /usr/local/etc/mongod.conf</pre> | ||
+ | |||
+ | Method2 | ||
+ | <pre> | ||
+ | echo kern.maxfiles=65536 | sudo tee -a /etc/sysctl.conf | ||
+ | echo kern.maxfilesperproc=65536 | sudo tee -a /etc/sysctl.conf | ||
+ | sudo sysctl -w kern.maxfiles=65536 | ||
+ | sudo sysctl -w kern.maxfilesperproc=65536 | ||
+ | |||
+ | echo "ulimit -n 65536 65536" >> ~/.bash_profile | ||
+ | # auto start mongodb on start up | ||
+ | echo "pgrep mongod" >> ~/.bash_profile | ||
</pre> | </pre> | ||
Line 51: | Line 66: | ||
); | ); | ||
</pre> | </pre> | ||
+ | ===mongodb insertMany is 10 times faster than insertOne=== | ||
+ | I found out this the hard way. | ||
+ | But be sure to use find and insertMany as much as you can |
Latest revision as of 03:22, 8 June 2019
Contents
Install mongodb on mac
brew uninstall mongodb mongodb@3.2 mongodb@3.4 || true brew install mongodb@3.6 brew unlink mongodb && brew link --force --overwrite mongodb@3.6 brew services restart mongodb@3.6 rm ~/Library/LaunchAgents/*mongodb* ln -sfv /usr/local/Cellar/mongodb@3.6/*/*.plist ~/Library/LaunchAgents
Get around mac max file limit
run
sudo launchctl limit maxfiles 1000000 1000000
Then add line below to ~/.bash_profile
ulimit -n 65536 65536
If want to do this automatically at start up add into this file /etc/launchd.conf
limit maxfiles 1000000 1000000
edit mongo config
sudo vim /usr/local/etc/mongod.conf
Method2
echo kern.maxfiles=65536 | sudo tee -a /etc/sysctl.conf echo kern.maxfilesperproc=65536 | sudo tee -a /etc/sysctl.conf sudo sysctl -w kern.maxfiles=65536 sudo sysctl -w kern.maxfilesperproc=65536 echo "ulimit -n 65536 65536" >> ~/.bash_profile # auto start mongodb on start up echo "pgrep mongod" >> ~/.bash_profile
Search by timestamp
search from a certain timestamp
db.getCollection('XXX').find({t: {$gte: new ISODate("2018-01-01T21:56:47Z")}});
search last 5 minutes
db.getCollection('XXX').find({t: {$gte: new Date(ISODate().getTime() - 1000 * 60 * 5)}})
Mongodb update record based on existing value
db.person.find().snapshot().forEach( function (elem) { db.person.update( { _id: elem._id }, { $set: { name: elem.firstname + ' ' + elem.lastname } } ); } );
mongodb insertMany is 10 times faster than insertOne
I found out this the hard way. But be sure to use find and insertMany as much as you can