首页
学习
活动
专区
圈层
工具
发布

Not Only SQL (三) - MongoDB Introduce & CRUD (上)

writeConcern,MongoDB将使用默认的安全写级别 在命令行中执行文档写入操作 db...._id 该命令会自动创建响应的集合 再一次往accounts集合中插入数据 使用try-catch可以处理插入文档时出现的异常 WriteError即输出的异常信息的文档,可以看出是由于主键冲突造成的异常...在顺序写入时,一旦遇到错误,便会退出操作,剩下的文档无论是否正确都不会被写入数据库中 乱序插入文档时遇到错误 在乱序写入时,即使某些文档写入出现异常,剩余正确的文档仍然会被写入数据库 查看数据库中的数据....explain()命令,insert()支持 db..save()命令也可以创建一个或者多个文档,它是调用db.....insert()来完成创建的 默认的文档主键是ObjectId,里面包含了创建时间,可以通过调用getTimestamp()方法获取 当主键也是一个文档时,该主键称为复合主键

1.2K10

【探花交友】day03—MongoDB基础

它是一个面向集合的,模式自由的文档型数据库。...MongoDB 的文档(document),相当于关系数据库中的一行记录。 多个文档组成一个集合(collection),相当于关系数据库的表。...多个集合(collection),逻辑上组织在一起,就是数据库(database)。 一个 MongoDB 实例支持多个数据库(database)。...#删除数据库 > use testdb #先切换到要删除的数据中 > db.dropDatabase() #删除数据库 2.2、新增数据 在MongoDB中,存储的文档结构是一种类似于json的结构...索引是特殊的数据结构,索引存储在一个易于遍历读取的数据集合中,索引是对数据库表中一列或多列的值进行排序的一种结构 #创建索引 > db.user.createIndex({'age':1}) #查看索引

5.2K20
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    MongoDB简介

    存储在集合中的文档,被存储为键-值对的形式。键用于唯一标识一个文档,为字符串类型,而值则可以是各中复杂的文件类型。...获取集合列表 每个数据库都存在零个或多个集合,需要时你可以获得他们的列表: Set colls = db.getCollectionNames(); for(String s : colls...= db.getCollection("testCollection"); 当你获取了这个集合对象,你就可以对数据进行增删查改之类的操作。...要查找我们上一步插入的那个文档,可以简单地使用findOne()操作来获取集合中第一个文档。...8 统计文档数量  使用getCount()方法 System.out.println(coll.getCount()); 9 使用光标(cursor)来获取全部文档 为了获取集合中的所有文档,我们可以使用

    1.2K20

    大数据技术之_22_MongoDB学习_MongoDB 的简介、下载、安装、启动、配置和关闭 + MongoDB 的基本操作 + Mongoose + 使用 java 对 MongoDB 增删改查

    集合(collection):集合类似于数组,在集合中可以存放文档。 文档(document):文档是数据库中最小单位,我们存储和操作的内容都是文档。...在 MongoDB 中,数据库和集合都不需要手动创建,当我们创建文档时,如果文档所在的集合或数据库不存在会自动创建数据库和集合。...文档(document):类似于 JS 中的对象,在 MongoDB 中每一条数据都是一个文档。 集合(collection):集合就是一组文档,也就是集合是用来存放文档的。...集合中存储的文档可以是各种各样的,没有格式要求,多个文档组成集合,多个集合组成数据库。 3.2 基本指令 ?...3.5 文档的增删改查 插入文档   db.collection.insert();   insert() 可以用于向集合中添加一个或多个文档,可以传递一个对象,或一个数组。

    20.2K30

    MongoDB系列一(查询).

    ("_id"是一个集合中每个文档的唯一标识)     查询的使用上有限制,传递给数据库的查询文档必须是常量。...({name:/mongo/}) --查询 name 中包含 mongo 的数据, 相当于 select * from userInfo where name like '%mongo%' 5、db.userInfo.find...shell立刻获取前100个结果或者前4 MB数据(两者之中较小者),这样下次调用next或者hasNext时就不必再次连接服务器取结果了。...-- 获取一致结果     数据处理通常的做法是先将数据从数据库中取出来,做一些变换以后,再保存回数据库。...如果使用了这个选项,查询就在"_id"索引上遍历执行,这样可以保证每个文档只被返回一次。 db.foo.find().snapshot()     快照会使查询变慢,所以应该只在必要时使用快照。

    4.2K60

    微信公号DIY:MongoDB 简易ORM & 公号记账数据库设计

    MongoDB 概念解析 在mongodb中基本的概念是文档、集合、数据库,下表是MongoDB和关系型数据库概念对比: SQL术语/概念 MongoDB术语/概念 解释/说明 database database...)一个mongodb中可以建立多个数据库。...MongoDB的默认数据库为"db",该数据库存储在data目录中。MongoDB的单个实例可以容纳多个独立的数据库,每一个都有自己的集合和权限,不同的数据库也放置在不同的文件中。"...获取集合 选择数据库后,接下来就是选择一个集合(Collection),获取一个集合和选择一个数据库的方式基本一致: >>> collection = db.test_collection # test_collection...有些驱动程序的确支持在集合名里面包含,这是因为某些系统生成的集合中包含该字符。除非你要访问这种系统创建的集合,否则千万不要在名字里出现$。

    1.8K30

    【翻译】MongoDB指南引言

    此外,MongoDB 提供可插拔存储引擎API,允许第三方开发者为MongoDB开发存储引擎。 3.数据库和集合 MongoDB 存储BSON文档,例如数据记录在集合中,集合在数据库中。 ?...在Mongo shell中,选中一个数据库使用如下命令:use db> ,例如: use myDB 创建数据库 如果待操作的数据库不存在,那么在第一次向MongoDB 存储数据时,MongoDB会创建这个数据库...3.2集合 MongoDB 在集合中存储文档,集合类似于关系数据库中的表。...设置单个文档大小的最大值有助于确保单个文档不会耗尽系统内存,或者在传输的过程中不会占用太多的带宽。为了能够存储超过最大值的文档,MongoDB提供了GridFS API。...重要的: 在一秒之内,ObjectId值的顺序与生成时间之间的关系并不是严格的。如果单系统中,多个系统或多个进程或多个线程在一秒内产生了多个ObjectId值,这些值并不会严格地按照插入顺序展示。

    5.4K60

    MongoDB权威指南学习笔记(2)--设计应用

    如果你的查询只需要查找索引中包含的字段,那就根据没必要获取实际的文档。...在实际中,应该使用覆盖索引,而不是获取文档 为了确认查询只使用索引就可以完成,应该使用投射来指定不要返回_id字段 如果在覆盖索引上执行explain(),indexOnly字段的值要设为true 隐式索引...,那么这个索引就会呗还标记为多键索引,多键索引可能会比非多键索引慢一些,可能会友多个索引条目指向同一个文档,因此在返回结果时必须要先去除重复的内容 索引基数 基数就是集合中某个字段拥有不同值的数量,一般来说...在map函数中emit调用的次数 “output”:5 结果集合中的文档数量 聚合命令 count 返回集合中文档的数量 db.foo.count({"x";2}) distinct 用来找出给定键的所有不同值...不适合MongoDB的场景 不支持事务 在多个不同维度上对不同类型的数据进行连接 注: 上述测试在MongoDB 3.4.3-8-g05b19c6中成功 上述文字皆为个人看法,如有错误或建议请及时联系我

    9.2K30

    你要懂的的数据库知识(简单,详细)

    输入mongod 32位系统第一次启动:– mongod --storageEngine=mmapv1 配置mongo的windows服务 在mongo安装目录的server下3.x目录下创建mongod.cfg...• 集合(collection) – 集合类似于数组,在集合中可以存放文档。 • 文档(document) – 文档数据库中的最小单位,我们存储和操作的内容都是文档。...基本概念 • 文档(document) – 类似于JS中的对象,在MongoDB中每一条数据都是一个文档 • 集合(collection) – 集合就是一组文档,也就是集合是用来存放文档的 –...集合中存储的文档可以是各种各样的,没有格式要求 • 多个文档组成集合,多个集合组成数据库 创建数据库 • use 数据库名 – 使用use时,如果数据库存在则会进入到相应的数据库,如果不存在则会自动创建...文档对象) – insert()可以用于向集合中添加一个或多个文档,可以传递一个对象,或一个数组。

    63730

    04_数据库

    数据库(database) 数据库是一个仓库,在仓库中可以存放多个集合 集合(collection) 集合类似于数组,在集合中可以存放多个文档 文档(document) 数据库中的最小单位...进入数据库 use test 操作数据库 db 代表当前数据库 显示数据集合 show collections CRUD (增删改查) 操作 数据库中插入一个或多个文档...集合名>.deleteOne({条件}) 删除符合条件的一个文档 db.集合名>.deleteMany({条件}) 删除符合条件的多个文档 db....集合名>.drop() 删除集合 db.dropDatabase() 删除数据库 数据库中数据一般不会真正的删除,所以删除的方法很少调用 一般都是单独添加一个字段,表示数据是否删除 这种删除只是程序上的删除...(一般不使用) 一般只需要连接一次,连接一次以后,除非停止服务器,否则连接不会断开 Mongoose 对象 Schema(模式对象) 定义约束了数据库中的文档结构 Model Model

    3.3K10

    起点小说爬取--scrapyredisscrapyd

    指定在多长时间内,有多少次更新操作,就将数据同步到数据文件,可以多个条件配合 多个条件中,任意满足一个就会进行同步 save Redis默认配置文件中提供了三个条件...127 project:项目名称,一般使用和scrapy项目一个名字 version:版本号,默认是当前时间戳 还有一些控制的API,可以查看官方文档。...字体解析请求本来就不多,只有几种而已 我们在parse中把所有页的请求都添加到调度器中,大概有4万多页,也就是4万多个请求 如果按照添加顺序进行请求处理,那么爬虫必须先处理完4万多条请求后,再处理字体请求..., mongo_db): self.mongo_uri = mongo_uri self.mongo_db = mongo_db @classmethod...MONGO_DATABASE ,那么 mongo_db = 'items' mongo_db=crawler.settings.get('MONGO_DATABASE', 'items

    2.1K40

    nods.js 从入门到精通教程

    当promise的对象状态发生变化时,用.then 来定义只会被调用一次的函数。...路径模块 在文件操作的过程中,都必须使用物理路径(绝对路径),path模块提供了一系列与路径相关的 API console.log('join用于拼接多个路径部分,并转化为正常格式'); const temp...//switched to db 数据库名 db.dropDatabase() 显示集合 用一下命令可以检查创建的集合 show collections 添加集合 在创建完数据库之后,我们就可以创建集合...所有存储在集合中的数据都是BSON格式。 BSON是一种类json的一种二进制形式的存储格式,简称Binary JSON。...) 在插入的文档中,如果不指定_id参数,那么mongodb会为此文档分配一个唯一的ObjectId 要插入文档,也可以使用db.post.save(document)。

    71110

    架构和数据库

    数据库(database) 数据库是一个仓库,在仓库中可以存放多个集合 集合(collection) 集合类似于数组,在集合中可以存放多个文档 文档(document) 数据库中的最小单位,存储和操作的内容都是文档...显示数据集合 show collections CRUD (增删改查) 操作 数据库中插入一个或多个文档 db....集合名>.deleteOne({条件}) 删除符合条件的一个文档 db.集合名>.deleteMany({条件}) 删除符合条件的多个文档 db....集合名>.drop() 删除集合 db.dropDatabase() 删除数据库 数据库中数据一般不会真正的删除,所以删除的方法很少调用 一般都是单独添加一个字段,表示数据是否删除 这种删除只是程序上的删除...(一般不使用) 一般只需要连接一次,连接一次以后,除非停止服务器,否则连接不会断开 Mongoose 对象 Schema(模式对象) 定义约束了数据库中的文档结构 Model Model 对象作为集合中的所有文档表示

    3.6K10

    95道MongoDB面试题(含答案),1万字详细解析!

    所以一个集合(collection)中的所有的对象都被存放到一个块(chunk)中。只有当存在多余一个块的时后,才会有多个分片获取数据的选项。...mongodb分片是基于区域的,所以一个集合的所有对象都放置在同一个块中,只有当存在多余一个块的时候,才会有多个分片获取数据的选项 51、 当我试图更新一个正在被迁移的块(chunk)上的文档时会发生什么...57、什么是集合 集合就是一组 MongoDB 文档。它相当于关系型数据库(RDBMS)中的表这种概念。集合位于单独的一个数据库中。一个集合内的多个文档可以有多个不同的字段。...74、在MongoDB中如何在集合中插入一个文档 要想将数据插入 MongoDB 集合中,需要使用 insert() 或 save() 方法。...>db.dropDatabase() 76、在MongoDB中如何创建一个集合。 在 MongoDB 中,创建集合采用db.createCollection(name, options)方法。

    9.1K30

    Go 语言 mongox 库:简化操作、安全、高效、可扩展、BSON 构建

    前言在 Go 语言里使用 MongoDB 官方提供的 mongo-go-driver 库进行集合操作时,你是否感到结构体与 MongoDB 集合之间的映射,以及构建 BSON 数据这些操作极其繁琐?...go mongox 还引入链式调用,让文档操作更流畅,并且提供了丰富的 BSON 构建器和内置函数,简化了 BSON 数据的构建。...Chen", "cmy")).DeleteMany(context.Background())DeleteOne 和 DeleteMany 方法与官方的 API 同名,前者用于删除单个文档,后者用于删除多个文档...例如,你可以在插入文档前后对文档进行处理,或者在查询文档后对文档进行处理。...一次性钩子go mongox 支持一次性钩子,你可以在查询、插入、删除、更新和保存文档的前后执行一些操作。

    78053

    Go高级之Gin框架和Mongodb数据库的联动

    }() // 获取数据库和集合 db := Client.Database("myblogmongodb") usersCollection := db.Collection("users...在MongoDB中,文档可以有不同的结构,不同的文档可以有不同的字段和数据类型。 当我们第一次连接MongoDB数据库时,如果没有插入数据,那么数据库中就不会有任何文档。...另外,MongoDB在插入数据时会自动创建集合(Collection),如果集合不存在的话。因此,即使在第一次连接数据库时没有创建集合,也可以在插入数据时自动创建。...这也是为什么在第一次连接数据库时就可以往表中插入数据的原因之一。...通过MongoDB官方驱动来进行CRUD前的条件锁定 其实CRUD也就是几个API的调用,这个很简单,我们只需要去看函数的用法就行了,我们来看点不一样的,就是和关系型数据库不一样的地方,我们在非关系数据库

    1.7K43
    领券