下载安装
1. 官网地址:www.mongodb.com/try/downloa…
2. 点击“DOWNLOAD(tgz)”按钮,将解压后的文件改名为mongodb放入 /usr/local ,默认情况下在Finder中是看不到 /usr 这个目录的(终端用得溜的请略过),可以打开Finder后按 shift + command +G 输入 /usr/local 后回车便能看到这个隐藏的目录了。
3. 建立路径,否则mongod无法执行
- 打开当前用户环境变量配置文件:在终端中输入
sudo vi ~/.bash_profile
- 在文档中加入你的安装路径
export PATH=$PATH:/usr/local/mongodb/bin,保存即可。
英文输入状态下
按字母i,进行编辑;
按esc后输入:wq保存离开
- 让刚刚输入的代码生效:
source .bash_profile
注意 如果是使用item2 + oh-my-zsh的话,那么就需要将环境变量的设置(export PATH=$PATH:/usr/local/mongodb/bin)路径加再 根目录下的 ~/.zshrc文件中。步骤同上
验证是否安装成功
终端输入
mongod -version
如果出现本版好则证明已经安装成功了
- 最新版的Mac系统Catalina发生了令人惊讶的更改:它不允许更改根目录(这也在论坛主题中进行了讨论):
% sudo mkdir -p /data/db
mkdir: /data/db: Read-only file system
不幸的是,除了在Catalina功能中简短提及之外,这在Apple的Catalina发行说明中没有明确说明:
macOS Catalina在专用的只读系统卷中运行
由于该目录/data/db被编码为MongoDB默认目录,因此一种解决方法是指定一个dbpath不在根目录上的目录。例如:
mongod --dbpath ~/data/db
//~指用户目录
这会将MongoDB的数据放在您的主目录中。只要确保该路径~/data/db确实存在。不存在就创建data>db两个目录
打开浏览器,输入localhost:27017 ,会出现这样一行文字。
It looks like you are trying to access MongoDB over HTTP on the native driver port.
重新打开另一个命令行,输入
mongo
可以对数据库进行操作,要停止MongoDB的时候一定要正确的退出,不然下次再次连接数据库会出现问题,使用下面的两行代码可以完成这一操作。
use admin;
db.shutdownServer();
5. 可视化工具
RoboMongo是一个跨平台的MongoDB GUI客户端管理工具,支持Windows、MacOS、Linux。其特点是支持到MongoDB服务器的SSL连接,还支持使用SSH隧道连接。RoboMongo的查询界面同时支持树视图、表格视图、文本视图三种,也可以保存查询结果供以后使用。 Robomongo 可以选择适合自己的版本下载。
作者:keyuan0214 链接:www.jianshu.com/p/eb4c36ff4… 来源:简书 著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。
附MongoDB数据库操作常见命令
- show dbs 显示所有数据库
- use dbname 使用某个数据库
- db 查看当前数据库
- 创建和使用数据库 use dbname
- 删除数据库 db.dropDatabase()
- 创建集合 db.createCollection(name,options) options {capped(固定大小):true,autoIndexId(_id 设置为默认索引):true,size(和 capped 配合使用):6142800,max(文档的最大数量):1000}
- 删除集合 db.collectionName.drop()
- 插入文档 db.collectionName.insert(文档)
- 查看集合内容 db.collectionName.find()
- 更新集合 db.collectionName.update(query 条件,更新内容,可选参数),db.coolectionName.save(文档) eg:db.users.update({a:1},{$set:{a:11}})
- 删除文档 db.collectionName.remove(query 条件,可选参数) eg:db.users.remove({a:1},false) 删除文档中所有 a 为 1 的文档
- 查询文档 db.collectionName.find()/db.collectionName.find().pretty()
- db.users.find({age:{$lte:10}}) age 的值小于等于 10
- db.users.find({age:{$ne:10}})age 的值不等于 10
- db.users.find({$or:[{age:10},{age:20}]}) age 的值为 10 或 20
- db.collectionName.find().limit(n) 限制显示的条数
- db.collectionName.find().skip(n) 跳过指定数量的数据 eg: db.users.find().skip(5).limit(5)显示第 6-10 条数据
- 排序 db.collectionName.sort({key:1}) 1 表示生序 -1 表示降序
- 索引 db.collectionName.createIndex({key:1})