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. Android常用代码

    1.图片旋转 Bitmap bitmapOrg = BitmapFactory.decodeResource(this.getContext().getResources(), R.drawable. ...

  2. 【HDU 5572 An Easy Physics Problem】计算几何基础

    2015上海区域赛现场赛第5题. 题目连接:http://acm.hdu.edu.cn/showproblem.php?pid=5572 题意:在平面上,已知圆(O, R),点B.A(均在圆外),向量 ...

  3. JSP指令 include 和forward

     包括指令:include     静态包括         <%@include file="要包括的文件路径" %>                 先将所包括 ...

  4. android xUtils的使用

    gethub地址:https://github.com/wyouflf/xUtils/ xUtils简介 xUtils 包含了很多实用的android工具. xUtils 支持大文件上传,更全面的ht ...

  5. 事件:target与currentTarget区别

    target在事件流的目标阶段:currentTarget在事件流的捕获,目标及冒泡阶段.只有当事件流处在目标阶段的时候,两个的指向才是一样的, 而当处于捕获和冒泡阶段的时候,target指向被单击的 ...

  6. iOS中有关配置 Apache 服务器的详细步骤

    配置 Apache 服务器 目的: 能够有一个测试的服务器,Apache 服务器是免费的! 为什么是 Apache 使用最广的 Web 服务器 Mac自带,只需要修改几个配置就可以,简单,快捷 有些特 ...

  7. ASP.NET 生命周期(原文翻译)

    在网上看到这篇文章,老外写的,里面很多图片挺精致,顺带翻译过来给大家分享下,英语太次好多地方都翻不过来 ASP.NET application and page life cycle Download ...

  8. js 完美兼容浏览器的复制功能

    1,js结合swf的复制功能,完美兼容火狐,谷歌,360,ie8,使用示例:(ps:引入copy.swf比较重要,文件传送门 解压密码:http://www.bieanju.com/,为了防止360删 ...

  9. word2vec配置到使用

    (1)首先下载word2vec,地址:https://code.google.com/p/word2vec/,可能下载的时候有问题,google上不去,那么可以从csdn上面下载. 解压后目录如下: ...

  10. linux下的gdb调试工具--内存调试

    接着上一节的代码,在while(1)的循环里面增加代码:sum=0 #include <stdio.h> int main(void) { int sum = 0, i = 0; char ...