文档的增删改查

增加文档:

 方法1:

  db.collection.insert({}) 插入单个文档
  db.collection.insertOne({}) 插入当个文档
  db.collection.insert([{},{},{}]) 插入多个文档,参数用中括号
  db.collection.insertMany([{},{}]) 也是插入多个文档

  e.g.
  db.class0.insert({‘name‘:"Lucy","age":18})
  e.q. db.class0.insert([{name:"dfsd",age:19,sex:"w"},{name:"fdsf",age:20,sex:"m"}])

  * 文档中键可以不加引号
  * _id为系统自动添加主键,如果自己写也可以,但是不能重复
  * _id 值可以自己插入,但是不能重复,_id就相当于主键

 方法2:  

  db.collection.save() 也是插入文档
  *如果不适用_id则save用法同insert一样
  * 如果加_id项,此时文档已经存在时则会替换原有文档,如果不存在,者正常插入

删除文档:

  mysql:delete from table 表名 where
  mongodb:db.collection.remove(query,justOne)

  remove(query,justOne)
   功能:删除文档
   参数:query 用法同find
      justOne 布尔值 默认为false表示删除所有符合条件的文档设置文true则表示只删除一条
    e.g. 删除所有不存在sex的域的文档
      db.class1.remove({sex:{$exists:false}})
    e.g. 删除第一条性别为w的文档
      db.class1.remove({sex:"w"}, true)

  db.collection.remove({})    删除集合中所有的文档

修改文档:

  mysql : update table set ... where ...

  mongodb : db.collection.update(query,update,upsert,multi)
    功能 : 修改文档
    参数 : query 筛选要修改的文档,相当于where     用法同查找
        update :将筛选的文档修改为什么内容,相当于set。 需要配合修改操作符($set)一同使用。
        upsert : bool值,默认为false。如果query的文档不存在则不进行任何操作
            如果设置为true则如果query的文档不存在就根据query和update插入新文档
        multi : bool值,默认为false。如果query文档有多条则只修改第一条,如果设置为true 则修改所有符合条件文档

   例子:
      将文档中名字为zengsf的年龄设置为15
        db.class.update({name:"zengsf"},{$set:{age:15}})
      如果有name=Jame的文档则修改,如果没有则根据query update插入新的文档
        db.class.update({name:"Jame"},{$set:{age:18}},true)

查找文档内容:

  mysql : select * from table table where ...
  mongodb : db.collection.find(query, field)

    find(query,filed)
      功能:查找文档
      参数:query 查找条件,相当于where字句
        field 查找的域
      返回值: 查找到的所有文档

      query:以键值对方式传参,如果是空{}表示查找所有内容

      field:以键值对的方式给出要查找(不查找)的域,以域名为键,以0,1为值分别表示不查找和查找
        db.class0.find({},{name:0}); 除名字以外,其它都查找
        db.class0.find({},{name:1}); 除名字以外,其它都不查找
      * 如果某一个或多个域设置为0 表示这些域不查找,其它域均查找
      * 如果某一个或多个域设置为1, 表示这些域都查找,其它域均不查找
      * _id除非设置为0,否则均会查找
      * 除_id域以外,其它域不能有的设置1有的设置0  

  查找所有内容  db.collection.find()

  findOne(query,field)
   功能: 查找第一条符合条件的文档
   参数: 同find
   返回值: 返回查找到的文档

原文地址:https://www.cnblogs.com/zengsf/p/9676679.html

时间: 2024-11-12 09:25:29

文档的增删改查的相关文章

分布式搜索elasticsearch 索引文档的增删改查 入门

1.RESTful接口使用方法 为了方便直观我们使用Head插件提供的接口进行演示,实际上内部调用的RESTful接口. RESTful接口URL的格式: http://localhost:9200/<index>/<type>/[<id>] 其中index.type是必须提供的. id是可选的,不提供es会自动生成. index.type将信息进行分层,利于管理. index可以理解为数据库:type理解为数据表:id相当于数据库表中记录的主键,是唯一的. 2.索引文

mongodb对数组元素及内嵌文档进行增删改查操作(转)

from:https://my.oschina.net/132722/blog/168274 比如我有一个user类,他包含一个标签属性,这个标签是一个数组,数组里面的元素是内嵌文档,格式如下: <!-- lang: js --> { "_id" : "195861", "tags" : [ { "tagId" : NumberLong(766), "optDate" : ISODate(&qu

MongoDB对数组元素及内嵌文档进行增删改查操作

比如我有一个user类,他包含一个标签属性,这个标签是一个数组,数组里面的元素是内嵌文档,格式如下: {    "_id" : "195861",    "tags" : [            {                    "tagId" : NumberLong(766),                    "optDate" : ISODate("2013-08-12T15

Mongodb的基本操作-数据库 集合 文档的增删改查

数据库操作: //查看有哪些数据库 > show dbs local  0.078GB mydb   0.078GB //use操作将切换到一个数据库 如果数据库存在将直接切换 如果不存在 那么会在切换之后,第一次执行新增修改操作的时候去创建这个数据库 > use newdb switched to db newdb //此时还没有创建 > show dbs local  0.078GB mydb   0.078GB > db.persion.insert({age:10}) Wr

mongodb的学习笔记一(集合和文档的增删改查)

1数据库的增删改查 一.增加一个数据库: use blog-----切换到指定的数据库,如果数据库不存在,则自动创建该数据库(新建的数据库,如果没有存储对应的集合,是不会显示出来的) 二.删除一个数据库 1首先用use 切换到你需要删除的数据库 use test 2然后执行db.dropDatabase()命令 db.dropDatabase() 三.修改一个数据库的名字 db.copyDatabase(fromdb, todb, fromhost) fromdb:源数据库, todb:目标数据

MongoDB 文档字段增删改

MongoDB 基于CRUD(create,read,update,delete)方式实现了对集合上的文档进行增删改查.对于集合上字段的增删改,可以使用set或者unset修改器来实现.也可以使用文档替换的方式来实现.本文主要描述集合上字段的增删改,以及基于选项upsert的更新. a.语法描述 db.collection.update( <query>,                  //查询或过滤条件 <update>,                 //修改器(被修改键

MongoDB文档的增删改操作

上一篇文章中介绍了MongoDB的一些基本知识,同时看到了怎么启动一个MongoDB服务,并且通过MongoDB自带的shell工具连接到了服务器. 这一次,就通过MongoDB shell介绍一下对文档的增删改操作. 增加新文档 接着上一篇文章,打开一个MongoDB shell. 通过“show dbs”可以看到所有的数据库.然后我们通过“use blog”切换到blog数据库来开始下面的演示. 使用“db”命令显示当前正在使用的数据库. 1 C:\mongodb\bin>mongo.exe

mongoDB 安装 启动 对文档的增删改操作

把mongodb解压缩完的bin路径加到环境变量 创建a.bat和b.bat文件: a.bat内容: mongod --dbpath F:\MongoData b.bat内容: mongo 127.0.0.1:27017/admin a.bat是启动mongodb服务器,--dbpath用来指定数据的存储路径 b.bat是启动mongo shell(即:js 引擎),admin用来指定哪个数据库 启动a.bat,看到 2014-10-14T22:35:48.734+0800 [initandli

C#操作xml文档增删改查(Linq to XML)

1.创建xml 1 public static void CreateXmlDoc() 2 { 3 XElement myDoc = 4 new XElement("Customers", 5 new XElement("Customer", new XAttribute("ID", "1"), 6 new XElement("Usename", "Rock Zed"), 7 new X