mongodb学习笔记1,增删改语法
来源:互联网 发布:逆矩阵的求法 编辑:程序博客网 时间:2024/06/06 15:40
进入mangodb:
./mongo
使用数据库
use bbs
查看文档数据个数
db.account.count()
删除数据
db.account.remove()
文档插入
当个文档插入:
db.account.insert({"userName":"bbs10000000","passwd":"ddddd","acctAttr":null})
查看
db.account.find()
mongodb会默认分配一个id
"_id":objectId("hr32iobn14jk32h1kh43k21hk432")
也可以自己指定id值
db.account.insert({"_id":"1","userName":"bbs10000000","passwd":"ddddd","acctAttr":null})
批量插入,受mongodb消息大小影响,最大消息16M
插入原理 :驱动将文档转为bson,检查是否有_id健,传入数据库,数据库解析bson,不做有效性校验,原样存入数据库中。
id分配是由客户端驱动完成的,不是服务器端生成的。
文档大小不能超过4M
删除文档
db.account.remve() 表示删除集合里的所有数据,索引还在,效率低
db.account.drop() 表示删除集合里所有数据和索引,性能好
JMongoBrowser软件可以访问mongdb,开源免费的。
MongoView功能强大一些,但是收费。
默认端口27017
local、admin是默认就存在的库
mongdb不支持事物,除此以外一般mysql可以做的mongdb都可以做到。
删除
db.account.remove({"userName":"bbs1100"})
查询
db.account.find({"userName":"bbs1100"})
文档更新
全量更新命令:
把updateName为bbs10的记录更新成新对象{...}
db.account.update({"updateName":"bbs10"},{"userName":"bbs10","passwd":"fff"})
_id是主键,不能更新
局部更新或者添加:修改器 $set
db.account.update({"updateName":"bbs10"},{"$set":{"passwd":"eee"}})
去掉一个键:修改器 $unset:
db.account.update({"updateName":"bbs10"},{"$unset":{"passwd":"eee"}})
数字增加:修改器 $inc:
对age加1
db.account.update({"updateName":"bbs10"},{"$inc":{"age":1}})
数组添加$push
db.account.update({"updateName":"bbs10"},{"$push":{"email":"aaa@163.com"}})
数据库中为
{"_id":"1","userName":"bbs10000000","passwd":"ddddd","email":["aaa@163.com"]}
数组增加值时避免重复增加$addToOSet
db.account.update({"updateName":"bbs10"},{"$addToOSet":{"email":"aaa@163.com"}})
数组从尾删除$pop
db.account.update({"updateName":"bbs10"},{"$pop":{"email":1}})
若从头删除则为-1
db.account.update({"updateName":"bbs10"},{"$pop":{"email":-1}})
数组中删除指定值$pull
db.account.update({"updateName":"bbs10"},{"$pull":{"email":"aaa@163.com"}})
多文档更新
update第四个参数为true表示多个文档更新
db.account.update({"updateName":"bbs10"},{"$set":{"passwd":"eee"}},false,true)
查看被更新的文档个数
db.runCommand({getLastError:1})
mongodb驱动不等待数据库执行结果,但是执行getLastError时,驱动程序会等待数据库返回结果
更新多个属性
db.account.update({"updateName":"bbs10"},{"$set":{"passwd":"eee","age": 25}},false,true)
java中
public Account add(Account entity) {
DBCollection coll = connection.getCollection(COLLECTION_ACCOUNT);
entity.set_id(supper.geterationID());
//这里WriteConcern.NONE表示执行后不等待执行结果,性能高
//如果用WriteConcern.SAFE则表示等待执行结果,即把getLastError带过去,性能较差
coll.insert(entity.toDBObject(),WriteConcern.NONE);
return entity;
}
./mongo
使用数据库
use bbs
查看文档数据个数
db.account.count()
删除数据
db.account.remove()
文档插入
当个文档插入:
db.account.insert({"userName":"bbs10000000","passwd":"ddddd","acctAttr":null})
查看
db.account.find()
mongodb会默认分配一个id
"_id":objectId("hr32iobn14jk32h1kh43k21hk432")
也可以自己指定id值
db.account.insert({"_id":"1","userName":"bbs10000000","passwd":"ddddd","acctAttr":null})
批量插入,受mongodb消息大小影响,最大消息16M
插入原理 :驱动将文档转为bson,检查是否有_id健,传入数据库,数据库解析bson,不做有效性校验,原样存入数据库中。
id分配是由客户端驱动完成的,不是服务器端生成的。
文档大小不能超过4M
删除文档
db.account.remve() 表示删除集合里的所有数据,索引还在,效率低
db.account.drop() 表示删除集合里所有数据和索引,性能好
JMongoBrowser软件可以访问mongdb,开源免费的。
MongoView功能强大一些,但是收费。
默认端口27017
local、admin是默认就存在的库
mongdb不支持事物,除此以外一般mysql可以做的mongdb都可以做到。
删除
db.account.remove({"userName":"bbs1100"})
查询
db.account.find({"userName":"bbs1100"})
文档更新
全量更新命令:
把updateName为bbs10的记录更新成新对象{...}
db.account.update({"updateName":"bbs10"},{"userName":"bbs10","passwd":"fff"})
_id是主键,不能更新
局部更新或者添加:修改器 $set
db.account.update({"updateName":"bbs10"},{"$set":{"passwd":"eee"}})
去掉一个键:修改器 $unset:
db.account.update({"updateName":"bbs10"},{"$unset":{"passwd":"eee"}})
数字增加:修改器 $inc:
对age加1
db.account.update({"updateName":"bbs10"},{"$inc":{"age":1}})
数组添加$push
db.account.update({"updateName":"bbs10"},{"$push":{"email":"aaa@163.com"}})
数据库中为
{"_id":"1","userName":"bbs10000000","passwd":"ddddd","email":["aaa@163.com"]}
数组增加值时避免重复增加$addToOSet
db.account.update({"updateName":"bbs10"},{"$addToOSet":{"email":"aaa@163.com"}})
数组从尾删除$pop
db.account.update({"updateName":"bbs10"},{"$pop":{"email":1}})
若从头删除则为-1
db.account.update({"updateName":"bbs10"},{"$pop":{"email":-1}})
数组中删除指定值$pull
db.account.update({"updateName":"bbs10"},{"$pull":{"email":"aaa@163.com"}})
多文档更新
update第四个参数为true表示多个文档更新
db.account.update({"updateName":"bbs10"},{"$set":{"passwd":"eee"}},false,true)
查看被更新的文档个数
db.runCommand({getLastError:1})
mongodb驱动不等待数据库执行结果,但是执行getLastError时,驱动程序会等待数据库返回结果
更新多个属性
db.account.update({"updateName":"bbs10"},{"$set":{"passwd":"eee","age": 25}},false,true)
java中
public Account add(Account entity) {
DBCollection coll = connection.getCollection(COLLECTION_ACCOUNT);
entity.set_id(supper.geterationID());
//这里WriteConcern.NONE表示执行后不等待执行结果,性能高
//如果用WriteConcern.SAFE则表示等待执行结果,即把getLastError带过去,性能较差
coll.insert(entity.toDBObject(),WriteConcern.NONE);
return entity;
}
0 0
- mongodb学习笔记1,增删改语法
- MongoDB学习笔记(1)HelloWorld(增删改查)
- mongodb-2.增删改查--学习笔记
- php学习笔记10--mongodb的数据增删改查
- mongodb基础语法(增删改查)
- MongoDB学习(1)------基本的增删改查
- MongoDB学习(2)增删改查
- MongoDB入门学习(2)增删改查
- MongoDB 增删改查与 Golang 的语法实现
- MongoDB 使用教程--基本增删改查语法
- MongoDB 增删改查与 Golang 的语法实现
- 【mongodb】mongodb 权威指南笔记之增删改查
- JPA学习笔记1-实体bean配置,jpa增删改api,jpasql增删改
- MongoDB 学习笔记(二):shell中执行增删查改
- MongoDB入门学习(三):MongoDB的增删查改
- MongoDB学习三--MongoDB简单增删改查
- MongoDB学习十三 --MongoDB的Java增删除改查
- MongoDB增删改查
- ubuntu下Eclipse中安装C/C++环境
- 文化网,武汉文化网——历史文化常识
- java文件处理 之 遍历文件夹
- 的风格题你
- 软件发布版本命名规则
- mongodb学习笔记1,增删改语法
- 【数据压缩】算术编码ARITHMETIC CODING
- QPS和TPS
- android中单元测试中的断言assert的使用与扩展
- android系列:Intent和IntentFilter详解
- iOS杂谈15—APP被苹果APPStore拒绝的各种原因
- ViewGroup.measureChildWithMargins() 学习笔记
- rac日常维护技巧
- Activity第二节——03