mongodb mysql配置_Nosql_MongoDB数据库配置以及基本指令

数据库(database)

-数据库的服务器

-服务器用来保存数据

-mongod用来启动服务器

-数据库的客户端

-客户端用来操作服务器,对数据进行增删改查的操作

-mongo用来启动客户端

(不能关闭启动的服务器,否则新开的客户端无法连接)

扩展:将mongodb设置为系统服务,可以自动在后台启动,不需要每次收到启动(http://docs.mongodb.com/manual/tutorial/install-mongodb-on-windows/)

①-在C盘根目录data文件夹中创建log文件夹

②-创建配置文件

在目录 (你安装MongoDB的路径)下添加一个配置文件

mongod.cfg

(内容:

systemLog:

destination:filepath: c:\data\log\mongod.logstorage:

dbPath: c:\data\db

)

③-以管理员的身份打开命令行窗口

④-执行如下命令

sc.exe create MongoDB binPath= "\"C:\MongoDB\bin\mongod.exe\" --service --config=\"C:\MongoDB\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"

备注:sc.exe create MongoDB binPath= "\"mongod的bin目录\mongod.exe\" --service --config=\"mongo的安装目录\mongod.cfg\"" DisplayName= "MongoDB" start= "auto"

⑤-启动mongodb服务

a77a5aa002e14fd0432ad22de1261025.png

⑥-如果启动失败,证明上边的操作有误,

在控制台输入 sc delete MongoDB 删除之前配置的服务

然后从第一步再来一次

-- 基本概念

数据库(database)

集合 (collection)

文档(document)

46280ad96b21e7b0bd28a0244f9404e0.png

-在MongoDB中,数据库和集合都不需要手动创建

当我们创建文档时,如果文档所在的集合或者数据库不存在会自动创建数据库和集合

9967af8e890ce3421c47d0969e8f2f27.png

-- 基本指令

show dbs

show databases

- 显示当前的所有数据库

use 数据库名

- 进入到指定的数据库中

db

- db表示的是当前所处的位置

show collections

- 显示数据库中所有的集合

-- 数据库的CRUD(增删改查)的操作

- 向数据库中插入文档

db..insert(doc)

- 向集合中插入一个文档

- 例子: 向test数据库中的,stus集合中插入一个新的学生对象

{name:"孙悟空",age:12,gender:"男"}

db.stus.insert({name:"孙悟空",age:12,gender:"男"})

a2454602ed36876637fa7c1602023ba6.png

db..find()

- 查询当前集合中所有的文档

54da044d20034d5b966260b3624e2ec7.png

①-插入数据

向数据库中插入文档

7a542f8b5fd560124a5080e65ee17d8a.png

b35adac122ecf2bed99a14b8fb0c831b.png

db..insert()

- 向集合中插入一个或多个文档

- 当我们向集合中插入文档时,如果没有给文档指定_id属性,则数据库会自动为文档添加_id,该属性用来作为文档的唯一标

- _id我们可以自己指定,如果我们指定了数据库就不会再添加了,如果自己指定_id 也必须确保它的唯一性

90856a8c1233a371b606d771171cc968.png

db..insertOne()

- 插入一个文档对象

db..insertMany()- 插入多个文档对象

②-查询

查询

db.collention.find()- find()用来查询集合中所有符合条件的文档

- find()可以接收一个对象作为条件参数 {}表示查询集合中所有的文档 {属性:值} 查询属性是指定值的文档

3395336e7c731854a69a819585246de8.png

8999b58f9c18f7ff6b8e30ea1bfd9f99.png

8cc6b124f7e2f4baf2d533160d707260.png

db.collection.findOne()- 用来查询集合中符合条件的第一个文档

- findOne()返回的是一个文档对象

a55961536f065c5f880a7e21c697bbf0.png

db.collection.find({}).count()- 查询所有结果的数量

6aea214afa1c02647a6646531f69e5c0.png

③-修改

修改

db.collection.update(查询条件,新对象)- update()默认情况下使用新对象替换旧对象

- 如果需要修改指定的属性,而不是替换需要使用"修改操作符"来完成修改

5e710582e6f9114909c5970764f4d9a1.png

$set可以用来修改文档中的指定属性

$unset 可以用来删除文档中的指定属性- update()默认修改一个

5c29daab65e761ed5c8d0c2a0c2d25f1.png

db.collection.updateOne()- 修改一个符合条件的文档

db.collection.updateMany()- 同时修改多个符合条件的文档

3bc7501752e9911f2562bfd4aa1c4d67.png

db.collection.replaceOne()- 替换一个文档

④-删除

删除

db.collection.remove()-删除符合条件的所有文档(默认情况下会删除多个)

如果remove()第二个参数传递一个true,则只会删除一个

cb6dad83bec02a6c1afae8c130973eb6.png

bd5c0e2f58a3d1f9dfb45d7fcfff059b.png

- 如果只传递一个空对象作为参数,则会删除集合中的所有文档

65b5007de112690dc6c5cd64a403f267.png

db.collection.deleteOne()

db.collection.deleteMany()-remove()可以根据条件来删除文档,传递的条件的方式和find()一样

db.collection.drop();-删除集合

db.dropDatabase()- 删除数据库

文档(document)

文档是MongoDB中数据的基本单元,类似关系数据库的行,多个键值对有序的放置在一起便是文档

MongoDB中以文档的方式存取记录,如一条记录格式如下:

{“username”:“sunsu”,“age”:12,email:'damowang@huohu.com','sex':女}

{“username”:“sunsu”,“age”:12}

{“Username”:“sunsu”,“age”:12}

{“Username”:“sunsu”}

注意:

(1)以上是几个不同的文档,MongoDB区分大小写的数据类型,第一个age字段是数字类型,第二个age是字符串类型

(2)每一个文档尺寸不能超过16M

(3)MongoDB的文档不能有重复的键

(4)文档的键是字符串。除了少数例外情况,键可以使用任意UTF-8字符

文档之间的关系:

一对一(one to one)

-    夫妻 (一个丈夫 对应 一个妻子)

-   在MongoDB,可以通过内嵌文档的形式来体现出一对一的关系

一对多(one to many)/多对一(many to one)

-   父母 - 孩子

用户 - 订单

文章 - 评论

- 也可以通过内嵌文档来映射一对多的关系

多对多(many to many)

-  分类 - 商品

老师 - 学生

举例:

//一对一

db.wifeAndHusband.insert([{

name:"黄蓉",

husband:{ name:"郭靖" }

}, {

name:"潘金莲",

husband:{ name:"武大" }

}]);

db.wifeAndHusband.find();

//一对多 用户(users)和订单(orders)

db.users.insert([{

username:"孙悟空"},{

username:"猪八戒"}]);

db.order.insert({list:["苹果","香蕉","大鸭梨"],user_id:ObjectId("5d2bd20b782eae7ac9b5b5be")

});

db.users.find();

db.order.find();//查找用户孙悟空的订单var user_id =db.users.findOne({

username:"孙悟空"})._id;

db.order.find({user_id:user_id});

//多对多

db.teachers.insert([{

name:"洪七公"},{

name:"黄药师"},{

name:"龟仙人"}]);

db.stus.insert([{

name:"郭靖",

tech_ids:[

ObjectId("5d2bd518782eae7ac9b5b5c4"),

ObjectId("5d2bd518782eae7ac9b5b5c5")]},{

name:"孙悟空",

tech_ids:[ObjectId("5d2bd518782eae7ac9b5b5c4"),

ObjectId("5d2bd518782eae7ac9b5b5c5"),

ObjectId("5d2bd518782eae7ac9b5b5c6")]}]);

db.teachers.find();

db.stus.find();

集合(collection)

集合就是一组文档,多个文档组成一个集合,集合类似于mysql里面的表,

无模式是指,在同一个集合中可以包含不同格式的文档,如:

{“Name”:“Mongodb”,“Type”:“Nosql”}

{“UserName”:“Sunsu”,“age”:12,“Gender”:“male”}

以上两个文档可以放在同一个集合中

在mysql需要先建表再插入数据

模式自由:意思是集合里面没有行和列的概念

注意:MongoDB中的集合不用创建、没有结构,所有可以放不同格式的文档

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/501907.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

python的pygame库使用方法_python基础教程使用Python第三方库pygame写个贪吃蛇小游戏...

今天看到几个关于pygame模块的博客和视频,感觉非常有趣,这里照猫画虎写了一个贪吃蛇小游戏,目前还有待完善,但是基本游戏功能已经实现,下面是代码:# 导入模块import pygameimport random# 初始化pygame.ini…

mysql爱吃鱼油_鱼油or磷虾油,多油饮食的国人心血管健康如何拯救?

作为美食大国,高油重口的饮食生活习惯直接导致我国心血管病患病率处于逐年上升的阶段,据统计我国现有心血管病患者已达3.3亿人,占总人口的40%以上。许多年轻人心血管健康已经呈现过度损害状况,心血管疾病也不再是中老年专利。因此…

python如何实现选项功能_python几种常用功能如何实现 python几种常用功能实现代码实例...

本篇文章小编给大家分享一下python几种常用功能实现代码实例,小编觉得挺不错的,现在分享给大家供大家参考,有需要的小伙伴们可以来看看。1、python 程序退出的几种方式import syssys.exit()sys.exit(0)sys.exit(1)或者os._exit()该方法中包含…

小程序promise封装post请求_Promise封装微信小程序的Request请求

回调地狱一向是影响开发和维护的症结所在,无数个success()的嵌套再嵌套,导致代码层级颇深,盘一次逻辑都要费劲千辛万苦,ES6语法中的Promise,便是专为解决JS中异步请求回调的信任问题而存在的,结合小程序目前…

kafka学习_Kafka 学习笔记01

Kafka概念和基本架构概述以下内容来自拉勾课程学习拉勾教育 - 拉勾旗下教育平台一、Kafka介绍Kafka是最初由 Linkedin 公司开发,是一个 分布式、分区的、多副本的、多生产者、多订阅者,基于zookeeper协调的分布式日志系统(也可以当做MQ系统&a…

mysql 删除另一个表中的_mysql – 在一个查询SQL中删除两个表中的记录

我有两张桌子EMPGROUP_TBLSEQID | MASTERID | BUSINESS_UNIT | DIVISION | SUB_DIVISION | CLASSIFICATION | SUB_CLASSIFICATION和EMP_MASTERTBLMASTERID | EMPNO | LASTNAME | FIRSTNAME | JOBTITLE | LOCATION |在我的ASP.NET JOBTITLE表中,BUSINESS_UNIT,DIVISION,SUB_DIVI…

python小车行驶路线图_基于python的小车走黑线

【实例简介】一个简单的基于python的小车走黑线项目,结合了OpenCV【实例截图】【核心代码】工科创II-B└── 工科创II-B├── guaidian.jpg├── 草稿│ ├── TT.PY│ ├── huatu.py│ ├── img.png│ └── ss.py├── 编译.py├── 最终版│ …

python tcl smb_python操作samba

最近在部署完xxl-job后,陆续将一些日常性执行的python脚本迁移到上面去;其中部分脚本涉及到对samaba的操作,先后尝试了pysmb、fs.smbfs、pysmbclientpysmb安装:sudo pip2 install pysmb使用from smb.SMBConnection import *class …

php 随机在文章中添加锚文本_锚文本对网站SEO优化有什么帮助?

对于优化人员来说,网站在做优化时都会在网站关键词或长尾词上添加锚文本,锚文本又称锚文本链接,是链接的一种形式。那么描文本的添加对网站优化都有什么好处呢?下面一起来了解一下。一、锚文本为网站传递权重在更新网站内容时&…

python 决策树 字符型_Python判断字符串是否xx开始或结尾的示例

判断是否xx开始使用startswith 示例代码:String "12345 上山打老虎"if str(String).startswith(1): #判断String是否以“虎”结尾print("有老虎")else:print("没老虎")执行结果:有老虎判断是否xx结尾使用endswith示例代码…

malloc 结构体_二进制安全之堆溢出(系列)——堆基础 amp; 结构(二)

哈喽啊这里是二进制安全之堆溢出(系列)第二期“堆基础 & 结构”第二节!!话不多说,直接上干货!微观结构函数执行流程void *malloc (size_t bytes) void *__libc_malloc (size_t bytes) //对于_int_mallo…

drbd实现mysql地热备_Mysql+DRBD+Heartbeat 实现mysql高可用的双机热备(mysql+heartbeat篇)...

*************************************部署MYSQL*******************************************yum -y install gcc gcc-c gcc-g77 autoconf automake zlib* fiex* libxml* ncurses-devel libmcrypt* libtool-ltdl-devel* make cmake bison*useradd mysql -d /usr/local/mysql…

深入理解计算机系统第四版_深入理解计算机系统之存储器层次结构

我的计算机模型是这样的:CPU执行指令,内存犹如一个巨大的字节数组,存储着指令和数据,硬盘保存着各种程序与程序用到的数据。I/O完成输入输出的功能。在本文中我们抛开I/O,谈一谈关于CPU,内存,硬…

mysql8支持myISAM_mysql8 参考手册--优化MyISAM表

MyISAM存储引擎在以读为主的数据或低并发操作中表现最好,因为表锁限制了同时执行更新的能力。在MySQL中,InnoDB是默认的存储引擎,而不是MyISAM。优化MyISAM查询一些加快MyISAM表查询的一般技巧 :为了帮助MySQL更好地优化查询&…

python的模块提供了许多文件处理方法_详解使用Python处理文件目录的相关方法

所有文件都包含在各个不同的目录下,不过Python也能轻松处理。os模块有许多方法能帮你创建,删除和更改目录。mkdir()方法可以使用os模块的mkdir()方法在当前目录下创建新的目录们。你需要提供一个包含了要创建的目录名称的参数。语法:os.mkdir…

mysql替换json的key_mysql中json_replace函数的使用?通过json_replace对json对象的值进行替换...

需求描述:在看mysql中关于json的内容,通过json_replace函数可以实现对json值的替换,在此记录下.操作过程:1.查看带有json数据类型的表mysql> select * from tab_json;-------------------------------------------------------------------------------------------| id | d…

python中的array函数作用_Python中的Array | 数组2(简介和功能)

相关文章:Python中的数组Array | 1(简介和功能)以下是更多函数。1. typecode:此函数返回初始化数组所用的数据类型。2. itemsize:此函数返回单个数组元素的大小(以字节为单位)。3. buffer_info():返回一个元组,表示存储…

java生成pdf_JAVA 生成PDF 并导出

/***首先啥也不干,先写一个转换中文的方法,话说谁要整一个全英文数字的就不* 要写这个方法了....*str :要转换的内容 c:字体大小*/private static Paragraph getChinese(String str,int c) throws DocumentException, IOException{ BaseFont …

python爬取今日头条的文章_Python3爬取今日头条有关《人民的名义》文章

Python3爬取今日头条有关《人民的名义》文章最近一直在看Python的基础语法知识,五一假期手痒痒想练练,正好《人民的名义》刚结束,于是决定扒一下头条上面的人名的名义文章,试试技术同时可以集中看一下大家的脑洞也是极好的。首先&…

java jmeter_使用Jmeter中的Java Request进行性能测试

在使用jmeter进行性能测试的时候,有可能会需要通过一些脚本去测试性能,(比如通过sokeeper的api去测试sokeeper的读写性能)。这时,我们可以通过Java Request实现,以下是操作步骤。首先创建一个maven project。因Jmeter的Java Reque…