1.插入操作

user = {"username":"lcq","sex":"man"}
db.user.insert(user)

2.更新

var lcq = db.user.findOne({"username":"lcq"}}
lcq.address = {"province":"shandong","location":"zoupin"}
lcq.haha = "hehhehe"
db.user.update({"username":"lcq"},lcq) > db.user.update({"username":"lcq"},{$set:{"test":"test"}})
> db.user.findOne({"username":"lcq"})
{
"_id" : ObjectId("55024de2849b70a4f670f413"),
"address" : {
"province" : "shandong",
"location" : "zoupin"
},
"haha" : "afdfdfd",
"sex" : "man",
"test" : "test",
"username" : "lcq"
}
> db.user.update({"username":"lcq"},{$unset:{"test":1}})

$unset删除某个字段

> lcq = db.user.findOne({"username":"lcq"})
{
"_id" : ObjectId("55024de2849b70a4f670f413"),
"address" : {
"province" : "shandong",
"location" : "zoupin"
},
"haha" : "afdfdfd",
"sex" : "man",
"username" : "lcq"
}
>
>
> lcq.count = 1
> db.user.update({"username":"lcq"},lcq) > db.user.update({"username":"lcq"},{$inc:{"count":2}})

$inc设置某个字段自增

> db.user.update({"username":"lcq"},{$set:{"friends":['zhangsan']}})

> db.user.findOne()
{
"_id" : ObjectId("55024de2849b70a4f670f413"),
"address" : {
"province" : "shandong",
"location" : "zoupin"
},
"count" : 3,
"friends" : [
"zhangsan"
],
"haha" : "afdfdfd",
"sex" : "man",
"username" : "lcq"
} > db.user.update({"username":"lcq"},{$push:{"friends":'lisi'}})
>
> db.user.findOne()
{
"_id" : ObjectId("55024de2849b70a4f670f413"),
"address" : {
"province" : "shandong",
"location" : "zoupin"
},
"count" : 3,
"friends" : [
"zhangsan",
"lisi"
],
"haha" : "afdfdfd",
"sex" : "man",
"username" : "lcq"
}

$push向数组中加入新的值

> db.user.update({"username":"lcq"},{$addToSet:{"friends":'lisi'}})
>
> db.user.findOne()
{
"_id" : ObjectId("55024de2849b70a4f670f413"),
"address" : {
"province" : "shandong",
"location" : "zoupin"
},
"count" : 3,
"friends" : [
"zhangsan",
"lisi"
],
"haha" : "afdfdfd",
"sex" : "man",
"username" : "lcq"
} > db.user.update({"username":"lcq"},{$addToSet:{"friends":'xiaoming'}})
>
>
> db.user.findOne()
{
"_id" : ObjectId("55024de2849b70a4f670f413"),
"address" : {
"province" : "shandong",
"location" : "zoupin"
},
"count" : 3,
"friends" : [
"zhangsan",
"lisi",
"xiaoming"
],
"haha" : "afdfdfd",
"sex" : "man",
"username" : "lcq"
}
>

可见使用$addToSet加入时,假设存在同样的值则不加入。

> db.user.update({"friends":"lisi"},{$set:{"friends.$":"join"}})
>
>
>
> db.user.findOne()
{
"_id" : ObjectId("55024de2849b70a4f670f413"),
"address" : {
"province" : "shandong",
"location" : "zoupin"
},
"count" : 3,
"friends" : [
"zhangsan",
"join",
"xiaoming"
],
"haha" : "afdfdfd",
"sex" : "man",
"username" : "lcq"
}

使用$符进行数组的定位,实现更新数组特定位置的值。

> lcq = db.user.findOne()
{
"_id" : ObjectId("55024de2849b70a4f670f413"),
"address" : {
"province" : "shandong",
"location" : "zoupin"
},
"count" : 3,
"friends" : [
"zhangsan",
"join",
"xiaoming"
],
"haha" : "afdfdfd",
"sex" : "man",
"username" : "lcq"
}
>
>
> lcq.count = 10
10
> > db.user.save(lcq)
> > db.user.findOne()
{
"_id" : ObjectId("55024de2849b70a4f670f413"),
"address" : {
"province" : "shandong",
"location" : "zoupin"
},
"count" : 10,
"friends" : [
"zhangsan",
"join",
"xiaoming"
],
"haha" : "afdfdfd",
"sex" : "man",
"username" : "lcq"
}

save方法在不存在时创建。存在时更新。

更加方便。

3.删除

> db.user.insert({"username":"zhangsan"})
> db.user.remove({"username":"zhangsan"})

mongodb创建、更新、删除的更多相关文章

  1. MongoDB创建\更新\删除文档操作

     一.插入\创建文档 --当插入一个不存在的文档时,会自己主动创建一个文档 [root@racdb ~]# mongo MongoDB shell version: 2.4.14 connecti ...

  2. 《mongoDB》基本操作-创建/更新/删除文档

    一:基本操作 - db; 当前选择的集合(等于数据库名) > db demo -  use db_name; 选择你要操作的集合 > use demo switched to db dem ...

  3. MongoDB(二)创建更新删除文档

    插入并保存文档操作 用insert向目标集合插入文档,如果没有_id键则会自动添加.最后自动保存. >db.foo.insert({"bar":"baz" ...

  4. 2.MongoDB系列之创建更新删除文档

    1. 插入文档 // 单条插入 db.getCollection('blog').insertOne({'type': 'mongodb'}) // 批量 插入 db.getCollection('b ...

  5. mongodb 创建更新语法

    创建文档 向MongoDB插入数据,使用insert, 如:db.refactor.insert({"refactor's blog":"http://www.cnblo ...

  6. MongoDb 创建、更新以及删除文档常用命令

    mongodb由C++写就,其名字来自humongous这个单词的中间部分,从名字可见其野心所在就是海量数据的处理.关于它的一个最简洁描述为:scalable, high-performance, o ...

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

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

  8. MongoDB创建集合和删除集合05-14学习笔记

    MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写,是一个基于分布式文件存储的开源数据库系统.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关 ...

  9. MongoDB创建数据库和删除数据库05-14学习笔记

    MongoDB 是一个基于分布式文件存储的数据库.由 C++ 语言编写,是一个基于分布式文件存储的开源数据库系统.旨在为 WEB 应用提供可扩展的高性能数据存储解决方案. MongoDB 是一个介于关 ...

  10. Mongodb中 数据库和集合的创建与删除

    1.查询数据库,查询表: show dbs //查询所有的数据库show collections //查询所有的集合(表) 2.创建数据库或切换到数据库(存在就切换,不存在就创建) use spide ...

随机推荐

  1. COCI 2015/2016 Day 8 PROKLETNIK

    PROKLETNIK 题目描述:给出\(n\)个数,定义一段连续的数为魔法串是该区间的左右端点值正好是区间的最小值与最大值(最小值可以在左也可以在右,最大值也一样).\(Q\)个询问,每次询问一个区间 ...

  2. Node.js log3:create ejs engine and jade engine

    The base condition is ensure that you have  installed express. 1.create   ejs engine Using windows d ...

  3. linux之SQL语句简明教程---COUNT

    在上一页有提到,COUNT 是函数之一.由于它的使用广泛,我们在这里特别提出来讨论.基本上,COUNT 让我们能够数出在表格中有多少笔资料被选出来.它的语法是: SELECT COUNT(" ...

  4. 谈谈 WLST Custom Commands

    在了解WLST定制命令之前,简单说一下WLST,WLST 全称叫Weblogic Scripting Tool, 它提供了一组预定义命令来方便Weblogic的用户通过命令行对Weblogic 实例, ...

  5. ASP.NET 委托,异步调用例子 .

    简要介绍:1.定义异步执行需要调用的方法2.定义具有与异步执行方法相同签名的委托(Delegate):3.调用 BeginInvoke 和 EndInvoke 方法.   3.1. BeginInvo ...

  6. mac 安装maven 和改动java环境变量

    一. 首先是安装maven: 步骤: 1.下载Maven tar包 http://maven.apache.org/download.cgi 2. 下载后解压到某个目录下 [html] view pl ...

  7. 【剑指offer】连续子数组的最大和

    个開始,到第3个为止).你会不会被他忽悠住? 输入: 输入有多组数据,每组測试数据包括两行. 第一行为一个整数n(0<=n<=100000),当n=0时,输入结束.接下去的一行包括n个整数 ...

  8. scrapy-redis实现爬虫分布式爬取分析与实现

    本文链接:http://blog.csdn.net/u012150179/article/details/38091411 一 scrapy-redis实现分布式爬取分析 所谓的scrapy-redi ...

  9. WAV文件格式分析

    一. RIFF概念 在Windows环境下,大部分的多媒体文件都依循着一种结构来存放信息,这样的结构称为"资源互换文件格式"(Resources lnterchange File ...

  10. 【 枚举 Enum 】循环 名称与值

      foreach (WeekDay c in (WeekDay [])Enum.GetValues(typeof(WeekDay ))) {Console.Write(String.Format(& ...