热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

nosql数据库mongodb

1认识2库,集合操作3crud4pymongopython面向的是开源的数据库;mysqlmongdbpostgreSQLREDIS都是开源的1--Nosql什么是NoSQL?No

1 认识

2 库,集合操作

3 crud

4 pymongo

python面向的是开源的数据库;

mysql mongdb postgreSQL REDIS都是开源的

 

1--Nosql


什么是NoSQL?

NoSQL,指的是非关系型的数据库。NoSQL有时也称作Not Only SQL的缩写,是对不同于传统的关系型数据库的数据库管理系统的统称。

NoSQL用于超大规模数据的存储。(例如谷歌或Facebook每天为他们的用户收集万亿比特的数据)。这些类型的数据存储不需要固定的模式,无需多余操作就可以横向扩展。


为什么使用NoSQL ?

今天我们可以通过第三方平台(如:Google,Facebook等)可以很容易的访问和抓取数据。用户的个人信息,社交网络,地理位置,用户生成的数据和用户操作日志已经成倍的增加。我们如果要对这些用户数据进行挖掘,那SQL数据库已经不适合这些应用了, NoSQL 数据库的发展却能很好的处理这些大的数据。

|--1.2mongodb  是文档型存储

一个里面有很多的数据库,mongodb数据库里面存的类型是json,键值对的格式

进入命令 mongo 

退出出命令 exit

|--2 隐式创建、库操作 集合操作

2.1-mongodb中的隐式创建

show dbs; 显示所有的数据库

mongo底层引擎是Javascript

在mongodb里面空的数据库是没有意义的,use test;//切换数据库,(调用一个不存在的数据库mongdb会自动创建一个数据库),但是此时因为数据库是空的,show dbs;是看不到这个数据库的,必须给test数据库创建集合之后,再shou dbs;才能看到test数据库,这就是所谓的隐式操作

db.createCollection(‘xxx‘)

查看当前再那个数据库里面; db;

删除某个数据库,先切换到该数据库下面 use test; 再执行命令db.dropDatabase();即可删除test数据库

collection跟数据上的集合不同,

use test;

show collections; 显示集合

db.createCollection(col_name); 创建集合

db.col_nam.drop();删除集合

 

|--3;crud(create  read update delete)  向集合中插入文档, 查询 删除文档 修改文档

db.createCollection(‘student‘)

db.student.insert({"name":"LiMing","age":10,"gender":"male"});

插入后自动生成一个id ,这个id也可以自己指定

db.student.insert({"_id":"1","name":"Anny","age":20,"gender":"femal"})

没有格式限制 插入多个数据的时候,插入的字段可以不一致,只要是json的格式就可以了

db.student.insert([ {"name":"张三","age":"20"},{"name":"李四","gender":"male"} ])

Create Operations

创建操作或者插入操作会向集合添加新的文档。之前有提到过,如果插入时集合不存在,插入操作会创建对应的集合。MongoDB 提供了 3 个插入文档的方法:

`db.collection.insert()``db.collection.insertOne()``db.collection.insertMany()`

||--插入单个文档

其中,`db.collection.insertOne()` 用于向集合插入单个文档。而 `db.collection.insertMany()` 和 `db.collection.insert()` 可以向集合插入多个文档。`db.collection.insertOne()` 示例如下:

 技术分享图片

 

 

 自动命令执行后会返回一个结果文档,文档输出如下:

技术分享图片

 

 

 

这说明文档插入成功。其中,`acknowledged` 代表本次操作的操作状态,状态值包括 `true` 和 `false`。`insertedId` 即该文档的 `_id`。

提示:示例中的省略号是 MongoShell 的换行标识符。换行标识符对命令输入和执行并没有影响,所以本文也不会注重风格的统一,即示例中有时会带有换行符,有时则不带有换行符。

||--插入多个文档

`db.collection.insertMany()` 示例如下:

技术分享图片

 

 由于本次插入了 2 个文档,所以返回的结果文档会显示两个 `_id`。返回文档内容如下:

技术分享图片

 

 

 

查找删除

 

db.student.find(); 无条件查找,查出所有东西

按照条件查找

查找gender 是 male的,height是160的数据

db.student.find({“gender”:"male","height":160})

只显示出姓名

db.student.find({},{})

 

 

 

 

 

 

 


推荐阅读
  • 二维码的实现与应用
    本文介绍了二维码的基本概念、分类及其优缺点,并详细描述了如何使用Java编程语言结合第三方库(如ZXing和qrcode.jar)来实现二维码的生成与解析。 ... [详细]
  • 我的读书清单(持续更新)201705311.《一千零一夜》2006(四五年级)2.《中华上下五千年》2008(初一)3.《鲁滨孙漂流记》2008(初二)4.《钢铁是怎样炼成的》20 ... [详细]
  • 在处理大数据量的SQL分页查询时,通常需要执行两次查询来分别获取数据和总记录数。本文介绍了一种优化方法,通过单次查询同时返回分页数据和总记录数,从而提高查询效率。 ... [详细]
  • SQL Server 存储过程实践任务(第二部分)
    本文档详细介绍了三个SQL Server存储过程的创建与使用方法,包括统计特定类型客房的入住人数、根据房间号查询客房详情以及删除特定类型的客房记录。 ... [详细]
  • 在1995年,Simon Plouffe 发现了一种特殊的求和方法来表示某些常数。两年后,Bailey 和 Borwein 在他们的论文中发表了这一发现,这种方法被命名为 Bailey-Borwein-Plouffe (BBP) 公式。该问题要求计算圆周率 π 的第 n 个十六进制数字。 ... [详细]
  • importjava.io.*;importjava.util.*;publicclass五子棋游戏{staticintm1;staticintn1;staticfinalintS ... [详细]
  • 解决Visual Studio Code中PHP Intelephense误报问题
    PHP作为一种高度灵活的编程语言,其代码结构可能导致Intelephense插件在某些情况下报告不必要的错误或警告。自1.3.3版本起,Intelephense引入了多个配置选项,允许用户根据具体的工作环境和编程风格调整这些诊断信息的显示。 ... [详细]
  • 心理学经典:《思考致富》
    《思考致富》是由美国著名成功学大师拿破仑·希尔撰写的一部重要著作,该书基于希尔长达20年的深入研究和访谈,探讨了个人成功的核心要素。书中不仅揭示了成功的关键,还提供了一系列实用的方法和策略。 ... [详细]
  • 本文将详细介绍如何在二进制和十六进制之间进行准确的转换,并提供实际的代码示例来帮助理解这一过程。 ... [详细]
  • empty,isset首先都会检查变量是否存在,然后对变量值进行检测。而is_null只是直接检查变量值,是否为null,因此如果变量未定义就会出现错误!检测一个变量是否是null ... [详细]
  • 本文通过一个具体的实例,介绍如何利用TensorFlow框架来计算神经网络模型在多分类任务中的Top-K准确率。代码中包含了随机种子设置、模拟预测结果生成、真实标签生成以及准确率计算等步骤。 ... [详细]
  • 嵌套列表的扁平化处理
    本文介绍了一种方法,用于遍历嵌套列表中的每个元素。如果元素是整数,则将其添加到结果数组中;如果元素是一个列表,则递归地遍历这个列表。此方法特别适用于处理复杂数据结构中的嵌套列表。 ... [详细]
  • 本文详细探讨了BCTF竞赛中窃密木马题目的解题策略,重点分析了该题目在漏洞挖掘与利用方面的技巧。 ... [详细]
  • 1#include2#defineM1000103#defineRGregister4#defineinf0x3f3f3f3f5usingnamespacestd;6boolrev ... [详细]
  • 在编程实践中,正确管理和释放资源是非常重要的。本文将探讨 Python 中的 'with' 关键字及其背后的上下文管理器机制,以及它们如何帮助我们更安全、高效地管理资源。 ... [详细]
author-avatar
芳方程_269
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有