MongoDB
Posted xiaoCong2015
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了MongoDB相关的知识,希望对你有一定的参考价值。
知识点
要存入MongoDB 的数据模型的属性的类型是枚举类型 , 会变成枚举类的类名 , 字符串类型
例如 :模型类叫 News
常用操作
根据 数组的大小 查询文档
想要找这样的文档, 它的这种属性的类型是数组 , 数组里面至少有3个元素
例如 :
查找 属性 -- userIds 数组的大小是7的文档
方法1 :
{ "userIds" : { $size:7 } }
方法2 :
判断数组中的第7个元素是否存在
{ "userIds.7" : { $exists:1 } }
7表示第7个元素 , 1表示存在( 0表示不存在 )
其他方法 参考文章
http://www.jb51.net/article/49391.htm
环境搭建
参考 http://www.runoob.com/mongodb/mongodb-window-install.html , 下面是具体操作
安装
官网
https://www.mongodb.com
社区版 DB下载
https://www.mongodb.com/download-center#community
2017-12-10 最新的下载链接 mongodb-win32-x86_64-2008plus-ssl-3.6.0-signed
https://www.mongodb.com/dr/fastdl.mongodb.org/win32/mongodb-win32-x86_64-2008plus-ssl-3.6.0-signed.msi/download
C:\\Program Files\\MongoDB\\Server\\3.4\\bin
创建相关的文件夹 , 用来放 数据库的数据 和 log
日志,红色的文件是自动生成的
d:\\MongoData\\dbConf\\mongodb.log
数据库文件
d:\\MongoData\\db
要弄到环境变量里 , 不配置也行, 下面的命令要加上前缀
C:\\Program Files\\MongoDB\\Server\\3.4\\bin
不然
\'mongod.exe\' 不是内部或外部命令,也不是可运行的程序
或批处理文件。
被数据库配置成服务 , 像mysql一样开机自启,要用管理员权限运行cmd
mongod.exe --bind_ip 127.0.0.1 --logpath "d:\\MongoData\\dbConf\\mongodb.log" --logappend --dbpath "d:\\MongoData\\db" --port 27017 --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install
网上的原来的命令行
mongod.exe --bind_ip yourIPadress --logpath "C:\\data\\dbConf\\mongodb.log" --logappend --dbpath "C:\\data\\db" --port yourPortNumber --serviceName "YourServiceName" --serviceDisplayName "YourServiceName" --install
有空的话确认下服务是否配置好了 , 要是自动的
如果没看到 , 则是因为运行上面命令的时候不是用管理员权限 . 重复执行一次 , 不用删除东西
可以再手动改成 自动(延迟) , 使开机后的一瞬间不那么卡
此时服务还没有启动 , 要开机后才自动启动 , 现在要开的话鼠标右键 , 开启
有空的话确认下db 文件夹里是否有自动生成的东西
开启数据库服务
可以写在bat批处理文件里 , 如果不通过"开机自启服务"的话 , 可以用这种方式一键启动服务
mongod.exe --dbpath d:\\MongoData\\db
成功
用MongoDB chef 连接成功
左上角的连接名随便写 , 但别写中文 ( 展示的时候会乱码 )
以前的配置笔记
{
mongod --dbpath D:\\mongodb\\data --logpath=D:\\mongodb\\log\\mongodb.log
路径中不能有空格,新建用来放数据库文件和日志的文件夹
mongod --dbpath D:\\MongodbFile\\data --logpath=D:\\MongodbFile\\log\\mongodb.log
mongod --dbpath D:\\MongoDBData --logpath=D:\\MongoDB\\log\\mongodb.log
}
使用 , 工具
用 MongoChef 这个管理软件,开源且免费,有商业版。可自动化生成查询语句
{
"name" : "xiaoCong",
"age" : 18.0,
"_id" : ObjectId("58e4b2d54825119b402bde7e")
}优点
数据库本身就是面向对象的,所以不需要ORM,不用映射
缺点,少用
似乎不支持复杂的查询,比如 条件查询,个数不确定的参数
操作DB的工具太少
工具不好用,除非是收费的
可用 js 操作,但类型,是动态的
不需要var先声明一个变量,所以不知道这个变量之前有没有被人操作过
市场小,需求少,我在2016.10.4为止没看到福州哪家公司用这个数据库
Not only SQL
MongoDB 在3.0 用Go 语言重写了所有的工具集
MongoDB 3.2版本
环境变量,默认安装在C:\\Program Files\\MongoDB\\Server\\ 下,后面跟着版本
MongoDB
C:\\Program Files\\MongoDB\\Server\\3.2\\bin
在 创建一些文件夹,放DB文件,E:\\MongoDB\\data\\db
用mongod启动服务 cmd控制台
mongod --dbpath E:\\MongoDB\\data\\db
确认服务是否开启:
用浏览器打开
显示It looks like you are trying to access MongoDB over HTTP on the native driver port.
操作mongo
mongo
MongoDB shell version: 3.2.9
connecting to: test
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
>
打开官方shell
mongo
第三方GUI管理工具,明显比shell命令行好用,尤其是做高级操作的时候
用这个 MongoChef 开源且免费,有商业版
NoSQL Manager for MongoDB
name
{name:"xiaoCong" }
{name:\'xiaoCong\' }
name:"xiaoCong"
name:\'xiaoCong\'
RockMongo
不兼容win10吗
MongoVUE Gui tools for MongoDB
http://www.mongovue.com/
我选择安装在D:\\Program Files (x86)\\MongoVUE\\MongoVUE 1.6.9
然后破解之:
替换掉安装目录下的 MongoVUE.exe文件 即可破解
替换掉安装目录下的 MongoVUE.exe文件 即可破解
connectNane
myDB
最后一个留空,表示连接到所有数据库,也可以像这样指定连接到某个数据库
db.test.insert( {
user_id: "abc123",
age: 55,
status: "A"
} )
However
以上是关于MongoDB的主要内容,如果未能解决你的问题,请参考以下文章