mongodb常用命令
来源:互联网 发布:零售药店收银软件 编辑:程序博客网 时间:2024/05/01 09:28
启动mongodb:./bin/mongod -f conf/mongod.cof
Mongodb mongod.db 配置:
port = 12345dbpath = datalogpath = log/mongod.logfork = true
常用命令
./mongo 127.0.0.1:12345/testshow dbsshow collectionuse admin
db.zrk_collection.insert({x:1})for(i=3;i<100;i++) db.zrk_collection.insert({x:i})db.zrk_collection.find()db.zrk_collection.findOne({x:1})db.zrk_collection.find().count()db.zrk_collection.find().skip(3).limit(2).sort({x:1})db.zrk.find({m:{$exists:true}}) 只查询有m字段的db.zrk_collection.insert({x:1})
db.zrk_collection.update({x:3},{x:999}) 只会修改一条db.zrk_collection.insert({x:100,y:100,z:100})db.zrk_collection.update({z:100},{$set:{y:99}}) $set为部分更新符 db.zrk_collection.update({y:100},{y:99},true) 不存在的数据直接插入db.zrk_collection.update({z:100},{$set:{y:99}},false,true) 会修改多条
db.zrk_collection.remove({x:999}) 不同update 可删除多条db.zrk_collection.drop()db.zrk_collection.getIndexes() db.zrk_collection.ensureIndex({x:1}) 添加{x:1}的索引 还可以是-1代表排序方向
常见索引
db.zrk_collection.insert({x:[1,2,3,4,5]})
就会创建多键索引 复合索引 查询条件不止一个时需要建立复合索引 ,db.zrk_collection.ensureIndex({x:1,y:2})
过期索引 1、在一段时间后就过期的索引2、索引过期后相应数据就会被删除
适合登陆信息 日志信息存储 ,
db.collection.ensureIndex({time:1},{expireAfterSeconds:10})
3、存储过期缩影字段的值必须是指定的时间类型的值或数组,
不能是时间戳类型,否则不能自动删除
4、如果指定了ISODate数组,则按最小时间进行删除
db.zrk_collection.insert({time:new Date()})
这样的数据或被删除db.zrk_collection.insert({time:1})
这样的数据不会被删除5、过期索引不能是复合索引
6、删除时间不精确(60s运行一次的删除进程进行删除)“` 全文索引
db.集合.ensureIndex({key:"text"})
key是字段db.集合.ensureIndex({key:"text",key2:"test"})
db.集合.ensureIndex({"$**":"text"})
对多有字段创建索引查询:
db.集合.find({$text:{$search:"aa"}})
db.集合.find({$text:{$search:"aa bb"}})
或关系db.集合.find({$text:{$search:"aa bb -cc"}})
不包含ccdb.集合.find({$text:{$search:"\"aa\" \"bb\" "}})
与关系全文索引相似度
$meta操作符:
{score:{$meta:"testScore"}}
写在查询条件后面可以返回返回结果的相似度
与sort一起使用,可以达到很好的效果
db.zrk.find({$text:{$search:"aa bb"}},{score:{$meta:"textScore"}}).sort({score:{$meta:"textScore"}})
返回
{ "_id" : ObjectId("55a10179309ede361eea8b61"), "article" : "aa bb cc", "score" : 1.3333333333333333 }
{ "_id" : ObjectId("55a10181309ede361eea8b62"), "article" : "bb cc dd", "score" : 0.6666666666666666 }
全文索引限制
每次查询只能指定一个
$text
查询$text
查询不能出现$nor
查询中查询中如果包含了
$text
,hint不在起作用全文索引还不支持中文 地理位置索引 将一些点的位置存储,创建索引可以按照位置来查找其他点
子分类:
2d索引:用于存储和查找平面上的点。
2dsphere索引:用于存储和查找球面上的点。
查找方式:
查找距离某一点一定距离的点。
查找包含在某区域内的点。
创建方式:
2d:
db.collection.ensureIndex({key:"2d"})
位置表示方式:经纬度[经度,纬度]
取值范围:经度[-180,180] 纬度[-90,90]
查询方式:
1.
$near
:查询距离某点最近的点db.zrk2.find({w:{$near:[1,1]}})
获取附件的点 默认查100个db.zrk2.find({w:{$near:[1,1],$maxDistance:10}})
限定查10个,不支持minDistance2.geoWithin:查询某个形状的点
形状的表示:
2.1.
$box
矩形:{$box:{[<x1>,<y1>],[<x2>,<y2>]}}
2.2
$center
圆形:{$center:[[<x1>,<y1>,r]]}
2.3
$polygon
多边形{$polygon:[[<x1>,<y1>],[<x2>,<y2>],[<x3>,<y3>]]}
例子
db.zrk2.find({w:{$geoWithin:{$box:[[0,0],[3,3]]}}})
索引属性 db.collection.ensureIndex({param},{param})
第二个参数便是索引的属性|
常用4个:
db.collection.ensureIndex({},{name,""})
例子:db.zrk_collection.ensureIndex({x:1},{name:"normal_index1"})
唯一性 Unique指定
db.collection.ensureIndex({},{unique:true/false})
稀疏性 Sparse指定
db.collection.ensureIndex({},{sparse:true/false})
不必为不存在字段创建索引
db.zrk.find({m:{$exists:true}}).hint("index_name")
强制使用索引是否定时删除查看db中文件 db.fs.files.find()
创建备份 ./mongorestore -d imgs /data/mongdb_bak/imgs/
导入备份 ./mongorestore -d imgs /data/mongdb_bak/imgs/
本文链接:http://blog.csdn.net/zrk1000/article/details/51612263
0 0
- mongodb常用命令
- mongodb常用命令
- MongoDB常用命令
- MongoDB常用命令
- MongoDB常用命令
- Mongodb常用命令
- mongodb常用命令
- mongodb常用命令
- mongodb常用命令
- mongodb常用命令
- mongodb 常用命令
- mongodb常用命令
- MongoDB 常用命令
- MongoDB 常用命令
- mongodb 常用命令
- mongodb常用命令
- mongodb常用命令
- MongoDB 常用命令
- 每日一linux命令(11)-------nl
- 跨域、跨文档传输数据(三)---- postMessage ; 实现跨文档消息传输;
- 图解用Fiddler做http协议分析入门
- Android xutil3网络模块二次封装
- 使用axis1+spring+hibernate搭建webservice框架(一)
- mongodb常用命令
- Hadoop入门之Hadoop中的HelloWorld程序
- Xcode清除缓存、清理多余证书
- Block (二) 块方法的应用症状枚举
- hdu 1269 迷宫城堡【强连通+Kosaraju】
- 利用.dSYM和.app文件准确定位Crash位置
- OnePlus One Root
- hjr教程-DSP(五):汇编运算与段的理解
- 高级Android工程师面试回忆录