MongoDB数据库中,创建、查询、更新、删除操作的对象是集合。

1.查看某个数据库中有哪些集合,在此之前需要使用数据库

C:\Windows\system32>mongo
MongoDB shell version: 3.2.10
connecting to: test
> db
test
> show dbs;
chengdu 0.004GB
first 0.000GB
local 0.000GB
> use first;
switched to db first
> show collections;
blog
col
runoob
>

命令解释:

mongo ---> 连接数据库, 在执行之前确保MongoDB数据库服务开启了

db  ---> 查看当前正在使用的数据库

show dbs   --> 查看本地磁盘上那些数据库

use  [DatabaseName]  --> 使用某个(DatebaseName)数据库,若该数据库不存在,则首先创建数据库再使用

show  collections  -->查看当前数据库中的集合

2. 向集合中插入一条数据

> show collections;
blog
col
runoob
> db
first
> user = { 'name':'chengdu',
... 'sex' : 'M',
... 'age' : 22 }
{ "name" : "chengdu", "sex" : "M", "age" : 22 }
> db.users.insert(user);
WriteResult({ "nInserted" : 1 })
> show collections;
blog
col
runoob
users
>

首先创建了一个文档对象user,然后再将文档user插入集合users

命令解释:

> user = { 'name':'chengdu',
... 'sex' : 'M',
... 'age' : 22 }
{ "name" : "chengdu", "sex" : "M", "age" : 22 }   --> 创建一个文档对象 user

db.users.insert(user)  -->向集合users中插入文档user,  如果集合users不存在,则先创建集合, 然后再插入文档对象

3.查询当当前集合中的文档对象,有两个方法  find() 和 findOne()。find()查看所有的文档对象,但在shell中最多显示20个。 findOne()查看第一个文档对象,只返回一个文档对象。

> db.users.find();
{ "_id" : ObjectId("584eafa97629396db95535da"), "name" : "chengdu", "sex" : "M", "age" : 22 }
> db.users.findOne();
{
"_id" : ObjectId("584eafa97629396db95535da"),
"name" : "chengdu",
"sex" : "M",
"age" : 22
}
>

具体查询某个文档对象,带参数的查询

> db.users.find({'name':'chengdu'});
{ "_id" : ObjectId("584eafa97629396db95535da"), "name" : "chengdu", "sex" : "M", "age" : 22 }
> db.users.findOne({'name':'chengdu'});
{
"_id" : ObjectId("584eafa97629396db95535da"),
"name" : "chengdu",
"sex" : "M",
"age" : 22
}
>

4.更新集合中的某个文档对象

> user = { 'name' : 'cd',
... 'sex' : 'M',
... 'age' : 22 }
{ "name" : "cd", "sex" : "M", "age" : 22 }
> db.users.update({'name' : 'chengdu'}, user);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.users.find();
{ "_id" : ObjectId("584eafa97629396db95535da"), "name" : "cd", "sex" : "M", "age" : 22 }
>

使用update语句更新原来集合中name为chengdu的文档对象,更新之后 name变为cd

在文档对象上增加一个键

> user
{ "name" : "cd", "sex" : "M", "age" : 22 }
> user.address = 'Shanghai';
Shanghai
> user
{ "name" : "cd", "sex" : "M", "age" : 22, "address" : "Shanghai" }
> db.users.update({'name':'cd'}, user);
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.users.find();
{ "_id" : ObjectId("584eafa97629396db95535da"), "name" : "cd", "sex" : "M", "age" : 22, "address" : "Shanghai" }
>

5.删除某个文档对象,使用remove()方法

> user1 = { 'name' : 'xiaohong',
... 'sex' : 'F',
... 'age' : 22,
... 'address' : 'Beijing',
... 'qq' : ''}
{
"name" : "xiaohong",
"sex" : "F",
"age" : 22,
"address" : "Beijing",
"qq" : "12345678"
}
> db.users.insert(user1);
WriteResult({ "nInserted" : 1 })
> db.users.find();
{ "_id" : ObjectId("584eafa97629396db95535da"), "name" : "cd", "sex" : "M", "age" : 22, "address" : "Shanghai" }
{ "_id" : ObjectId("584eb4bd7629396db95535db"), "name" : "xiaohong", "sex" : "F", "age" : 22, "address" : "Beijing", "qq" : "12345678" }
> db.users.remove({'name' : 'xiaohong'});
WriteResult({ "nRemoved" : 1 })
> db.users.find();
{ "_id" : ObjectId("584eafa97629396db95535da"), "name" : "cd", "sex" : "M", "age" : 22, "address" : "Shanghai" }
>

首先创建了一个文档对象,该文档对象的键和之前文档对象的键的数目不同,然后再将文档对象插入到集合中,MongoDB的一个集合中可以存储键数目不同的文档对象,即可以插入成功,然后使用remove方法将插入的文档删除。

MongoDB 的创建、查询、更新、删除的更多相关文章

  1. 三、MongoDB的创建、更新和删除

    一.MongoDB的下载.安装与部署 二.MongoDB的基础知识简介 三.MongoDB的创建.更新和删除 概要 下面开始学习MongoDB最重要也是最基础的部分:C(创建)R(查询)U(更新)D( ...

  2. TODO:MongoDB的查询更新删除总结

    TODO:MongoDB的查询更新删除总结 常用查询,条件操作符查询,< .<=.>.>=.!= 对应 MongoDB的查询操作符是$lt.$lte.$gt.$gte.$ne ...

  3. MongoDB中的映射,限制记录和记录拼排序 文档的插入查询更新删除操作

    映射 在 MongoDB 中,映射(Projection)指的是只选择文档中的必要数据,而非全部数据.如果文档有 5 个字段,而你只需要显示 3 个,则只需选择 3 个字段即可. find() 方法 ...

  4. Android Sqlite数据库执行插入查询更新删除的操作对比

    下面是在Android4.0上,利用Sqlite数据库的insert,query,update,delete函数以及execSql,rawQuery函数执行插入,查询,更新,删除操作花费时间的对比结果 ...

  5. SQL入门(1): 创建/查询/更新/连接/视图/SSMS简介

    本文介绍SQL的基本查询语句 (1) select... from  * 表示全部, 选择的东西还可以进行简单的运算, 可以列别名 select * from student; -sage from ...

  6. Yii数据库操作增删改查-[增加\查询\更新\删除 AR模式]

    在Yii的开发中常常需要去使用Yii的增删改查方法,这些方法又可以多次变化和组合,带来全方位的实现对数据库的处理,下面对这些方法做一些简单的整理和梳理,有遗漏或是BUG,敬请指出.灰常感谢!!! 一. ...

  7. python 读取 查询 更新 删除 sql2008 类及应用

    import pymssql class MSSQL: def __init__(self,host,user,pwd,db): self.host = host self.user = user s ...

  8. MongoDB学习笔记二:创建、更新及删除文档

    插入并保存文档 对目标集使用insert方法插入一个文档: > db.foo.insert({"bar" : "baz"}) 这个操作会给文档增加一个&q ...

  9. windows下mongodb基础玩法系列二CURD操作(创建、更新、读取和删除)

    windows下mongodb基础玩法系列 windows下mongodb基础玩法系列一介绍与安装 windows下mongodb基础玩法系列二CURD操作(创建.更新.读取和删除) windows下 ...

  10. Mongodb 笔记02 创建、更新和删除文档

    创建.更新和删除文档          1. 插入并保存: 1). 单条插入,insert : db.foo.insert({"bar":"baz"}) 2). ...

随机推荐

  1. [转载]C# 多选功能(checkedListBox控件)

    // 全选; private void btn_allSelected_Click(object sender, EventArgs e) { //this.CheckedListBox1.Check ...

  2. Decision Boundaries for Deep Learning and other Machine Learning classifiers

    Decision Boundaries for Deep Learning and other Machine Learning classifiers H2O, one of the leading ...

  3. Datadog Agent是啥?它消耗什么资源?

    在资本市场不那么喜人的 2015 年融资 9450 万美元的 Datadog,在运维圈刮起了一阵小旋风.作为国外很值得学习的一款平台监控产品,公司人数不足 100 的 Datadog 为什么吸引了投资 ...

  4. Es索引优化

    https://www.elastic.co/guide/en/elasticsearch/guide/current/hardware.html https://www.elastic.co/gui ...

  5. asp.net中时间差的问题

    asp.net中时间差的问题 在asp中我们可以用datediff来处理,时间的差,相当的不错,可是在asp.net中C#语言中却没有.可是ASP.net给我们提供了一个TimeSpan,我们可以用它 ...

  6. JavaScript 弹出窗体点击按钮返回选择数据的实现

    首先是父页面的代码: <head runat="server"> <title>无标题页</title> <%-- <script ...

  7. 如何在Oracle11中配置st_shapelib

  8. 【Quick 3.3】资源脚本加密及热更新(三)热更新模块

    [Quick 3.3]资源脚本加密及热更新(三)热更新模块 注:本文基于Quick-cocos2dx-3.3版本编写 一.介绍 lua相对于c++开发的优点之一是代码可以在运行的时候才加载,基于此我们 ...

  9. HTTP2.0那些事

    1. HTTP2.0的前世 http2.0的前世是http1.0和http1.1这两兄弟.虽然之前仅仅只有两个版本,但这两个版本所包含的协议规范之庞大,足以让任何一个有经验的工程师为之头疼.http1 ...

  10. C# 如何获取某个类型或类型实例对象的大小

    在统计类型或类型实例对象时,出了个异常: “不能作为非托管结构进行封送处理;无法计算有意义的大小或偏移量.” 后来查了一下,原来,我们创建的struct或是class都是属于复杂类型的.(纠正一下,如 ...