概念
从关系模式图(E-R图)到对象模式模型
mongo的表多形性,动态性,传统数据库不能出现
MongoDB的基础操作
服务启动:
在你想要存放数据的地方,新建一个文件夹,如db
F:\>mongodb/bin
F:\mongodb\bin>mongod --path=/data/db
//我的是win10系统在git bash下面执行mongod --path=/data/db命令创建数据库
如果文件夹出现以下内容能买数据库创建成功
如果配置好环境变量的话,命令行输入mongod 就可以启动服务跟如服务其中打开网址显示It looks like you are trying to access MongoDB over HTTP on the native driver port.说明启动成功
MongoDB对数据的操作
创建数据库:
MongoDB 创建数据库的语法格式如下:
use DATABASE_NAME
举例:
> use mongo
switched to db mongo
> db
mongo
>
增: db.COLLECTION_NAME.insert(document)
>db.col.insert({title: 'MongoDB 教程',
description: 'MongoDB 是一个 Nosql 数据库',
by: 'MongoDB中文网',
url: 'http://www.mongodb.org.cn',
tags: ['mongodb', 'database', 'NoSQL'],
likes: 100
})
- 如果col不存在会自动创建并且插入数据
查询所有数据库在mongo语句下
show dbs
local 0.078GB
test 0.078GB
//插入字段
> db.col.insert(document) WriteResult({ "nInserted" : 1 }) >
删:
MongoDB 删除数据库的语法格式如下:
db.dropDatabase()
比如删除某个数据库我们首先要做的就是显示所有的数据库然后切换到要删除的数据库然后进行删除,最后再显示所有数据库查询是否删除成功
//查询
> show dbs
local 0.078GB
mongo 0.078GB
test 0.078GB
//切换
> use runoob switched to db mongo >
//删除
> db.dropDatabase() { "dropped" : "runoob", "ok" : 1 }
//查询
> show dbs
local 0.078GB
test 0.078GB
>
改:
update() 方法用于更新已存在的文档。语法格式如下:
db.collection.update(
<query>,
<update>,
{
upsert: <boolean>,
multi: <boolean>,
writeConcern: <document>
}
)
查:
> db.col.find()
{
"_id" : ObjectId("56064886ade2f21f36b03134"),
"title" : "MongoDB 教程",
"description" : "MongoDB 是一个 Nosql 数据库",
"by" : "MongoDB中文网",
"url" : "http://www.mongodb.org.cn",
"tags" : [ "mongodb", "database", "NoSQL" ],
"likes" : 100
}
>
常用命令
show dbs:显示数据库列表
show collections:显示当前数据库中的集合(类似关系数据库中的表)
show users:显示用户
use <db name>:切换当前数据库,这和MS-SQL里面的意思一样
db.help():显示数据库操作命令,里面有很多的命令
db.foo.help():显示集合操作命令,同样有很多的命令,foo指的是当前数据库下,一个叫foo的集合,并非真正意义上的命令
db.foo.find():对于当前数据库中的foo集合进行数据查找(由于没有条件,会列出所有数据)
db.foo.find( { a : 1 } ):对于当前数据库中的foo集合进行查找,条件是数据中有一个属性叫a,且a的值为1
如果遇到权限不足,用管理员身份打开命令行工具或者power shell或者git bash
来源:CSDN
作者:孩子不懒
链接:https://blog.csdn.net/qq_26386437/article/details/104133934