您的位置:网站首页 > 行业资讯 > 行业动态 > 正文

www.tb777peay.comwww.tb777peay.com【唯一授权【官网】

  2016-01-22 04:06  中国润滑油信息网
www.tb777peay.comwww.tb777peay.com【唯一授权【官网】 一种减少空间占用的法子是把字段名只管即便取短一些,这么占用 空间就小了,但这就哀求在易读性与空间占用上作为权衡了

db.colls.find( { “author.name” : “joe” } );

2、mongodb语法

/usr/bin/mongodump

/usr/share/man/man1/mongos.1

local0.gb

$in:选择指定字段的值坐落指定命组中的文档,语法格局“{filed: {$in: [,,...]}}”;

http://docs.mongodb.org/

"userflags" : 0,

system.indexes

650) this.width=650;" src="http://s3.51cto.com/wyfs02/m01/74/3f/wkiom1yxlt2yvuazaampiu5cfjy014.jpg" style="float:none;" title="4.png" alt="wkiom1yxlt2yvuazaampiu5cfjy014.jpg" />

2、反省rpm包天生的几个紧张文件

查询年编大年夜于97的文档并只显示name和age:

{ "_id" : objectid("5602a28811db41a96277c762"), "name" : "longls" }

一、装配mongodb

rpm包下载地址:http://downloads-distro.mongodb.org/repo/redhat/os/x86_64/rpms/

snapshot()快照确保没有重复数据回来或目标损掉落

db.students.find({‘address.state’ : ‘ca’}).toarray().length;//功率很低

指定多前提查询

for more comprehensive documentation, see

$or:或运算,句子格局“{$or: [{},{},... ,{}]}”

true

{ "_id" : objectid("5602aa5311db41a96277c7c6"), "name" : "user:100", "age" : 100, "gender" : "m", "preferbooks" : ["first blood","second blood" ] }

> db.testcoll.find({age: {$gte :97}},{name:1,age:1})

/usr/bin/mongorestore

> db.testcoll.remove({name: "user:3"})

db.colls.find( { name : /acme.*corp/i } );//相似于sql中like

指定前提规模查询

查询包括adress字段的文档:

{ "_id" : objectid("5602aa5311db41a96277c7c5"), "name" : "user:99", "age" : 99, "gender" : "f", "preferbooks" : ["first blood","second blood" ] }

> db.testcoll.find({age: {$gte :97}})

[ ~]# ss -tnlp |grep mongod

/usr/bin/mongod

650) this.width=650;" src="http://s3.51cto.com/wyfs02/m00/74/3f/wkiom1yxltyccmcraaqucrqgxjc774.jpg" style="float:none;" title="2.png" alt="wkiom1yxltyccmcraaqucrqgxjc774.jpg" />

[ ~]# yum localinstall -y mongo-10gen-2.4.14-mongodb_1.x86_64.rpm mongo-10gen-server-2.4.14-mongodb_1.x86_64.rpm

for interactive help, type "help".

{ "_id" : objectid("5602aa5311db41a96277c7c4"), "name" : "user:98", "age" : 98, "gender" : "f", "preferbooks" : ["first blood","second blood" ] }

skip()超出某些数据

> db.testcoll.find()

不即是查询用字符$ne

{ "_id" : objectid("5602aa5311db41a96277c7c6"), "name" : "user:100", "age" : 100, "gender" : "m", "preferbooks" : ["first blood","second blood" ] }

dbpath=/data/mongodb

能够准时运转db.repairdatabase()来料理纪录,但这个进程会比较迟钝

all output going to: /var/log/mongo/mongod.log

> for(i=1;i

[ ~]# service mongod start

{ "_id" : objectid("5602aa5311db41a96277c764"), "name" : "user:2", "age" : 2, "gender" : "f", "preferbooks" : ["first blood","second blood" ] }

“db.collection.count()”法子能够谋略指定collection中文档的个数

db.colls.find( { a : { $not : { $mod : [ 10 , 1 ] } } } );

db.colls.find({ “field” : { $gt: value1, $lt: value2 } } );

"ns" : "test.testcoll",

db.colls.find({j: {$ne: 3}, k: {$gt: 10} });//select * from colls where j!=3 and k>10

forked process: 4713

}

"avgobjsize" : 40,

650) this.width=650;" src="http://s3.51cto.com/wyfs02/m01/74/3c/wkiol1yxlvbrajhbaacvpjpcdso141.jpg" style="float:none;" title="5.png" alt="wkiol1yxlvbrajhbaacvpjpcdso141.jpg" />

$gt:选择指定字段值大年夜于指定值的文档,语法格局“{field: {$gt: value}}”;

{ "_id" : objectid("5602aa5311db41a96277c765"), "name" : "user:3", "age" : 3, "gender" : "f", "preferbooks" : ["first blood","second blood" ] }

$size查询

child process started successfully, parent exiting[断定]

3、实践操练

取模查询用字符$mod

98

运用正则表达式匹配

{ "_id" : objectid("5602aa5311db41a96277c7c6"), "name" : "user:100", "age" : 100, "gender" : "f", "preferbooks" : ["first blood","second blood" ] }

{ "_id" : objectid("5602aa5311db41a96277c763"), "name" : "user:1", "age" : 1, "gender" : "f", "preferbooks" : ["first blood","second blood" ] }

http://groups.谷歌.com/group/mongodb-user

{ "_id" : objectid("5602aa5311db41a96277c768"), "name" : "user:6", "age" : 6, "gender" : "f", "preferbooks" : ["first blood","second blood" ] }

内嵌目标查询

/usr/share/man/man1/mongod.1

[ ~]# mkdir /data/mongodb -p

$lt:选择指定字段值小于指定值的文档,语法格局“{field: {$lt: value}}”;

test0.gb

{ "_id" : objectid("5602aa5311db41a96277c766"), "name" : "user:4", "age" : 4, "gender" : "f", "preferbooks" : ["first blood","second blood" ] }

admin(empty)

> db.testcoll.update({age: {$gt:98}},{$set: {gender: "m"}},{multi:true})

count()谋略查询目标个数

db.colls.find() //select * from colls

{ "_id" : objectid("5602aa5311db41a96277c763"), "name" : "user:1", "age" : 1, "gender" : "f", "preferbooks" : ["first blood","second blood" ] }

查询colls统统数据

welcome to the mongodb shell.

$type查询$type值为bsonhttp://bsonspec.org/数 据的类型值

> db.testcoll.find().limit(2)

> db.testcoll.find().limit(4)

将age大年夜于98文档中的gender改为m:

3、初始化数据库

传统的联系数据库平日由数据库(database)、表(table)、纪录(record)三个层次观点构成,mongodb是由数据库(database)、召集(collection)、文档目标(document)三个层次构成mongodb关于联系型数据库里的表,可是召集中没有列、行和联系观点,这体现了措施从容的特色

db.colls.find().skip(10)

www.tb777peay.comwww.tb777peay.com【唯一授权【官网】二、运用mongodb

"indexsizes" : {

{ "_id" : objectid("5602aa5311db41a96277c766"), "name" : "user:4", "age" : 22, "gender" : "f", "preferbooks" : ["first blood","second blood" ] }

www.tb777peay.comwww.tb777peay.com【唯一授权【官网】

questions? try the support group

{ "_id" : objectid("5602b12411db41a96277c7c8"), "name" : "xiyan", "age" : 25, "gwww777emcmender" : "f", "adress" : "chongqing,china" }

db.colls.find( { a : { $type : 16 } } ); // 匹配a为int类型数据

“db.collection.find(,

$exixts:依据指定字段的存在性选择文档,语法格局“{ field: {$exists: }}”,指定的值为“true”则回来存在指定字段的文档,“false”则回来不存在指定字段的文档

也可对某一字段做规模查询

/usr/bin/mongo

db.colls.find( { a: { $all: [ 2, 3 ] } } );//指定a知够数组中任意值时

db.colls.find({ “field” : { $gte: value } } );

650) this.width=650;" src="http://s3.51cto.com/wyfs02/m00/74/3a/wkiol1yxh0is6xqsaaj0lxfzhjy415.jpg" title="1.png" alt="wkiol1yxh0is6xqsaaj0lxfzhjy415.jpg" />

db.colls.find( { name : { $not : /acme.*corp/i } } );

db.colls.find( { a : { $exists : true } } ); // 存在a目标的数据

"nindexes" : 1,

"totalindexsize" : 8176,

3、查询句子说明:

sort()排序

{ "_id" : objectid("5602aa5311db41a96277c764"), "name" : "user:2", "age" : 2, "gender" : "f", "preferbooks" : ["first blood","second blood" ] }

{ "_id" : objectid("5602aa5311db41a96277c763"), "name" : "user:1", "age" : 1, "gender" : "f", "preferbooks" : ["first blood","second blood" ] }

$and:与运算,语法格局“{$and: [{},{},... ,{}]}”

> db.testcoll.find({age: {$gte: 98}})

"systemflags" : 1,

system.indexes

mongodb shell version: 2.4.14

/usr/bin/mongostat

> show dbs

反省状况:

mongodb占用空间过大年夜的身分,在官方的faq中,说到有如下几个方面:

将name为user:99的文档中preferbooks项给删去:

> db.testcoll.find({$and:[{age: {$gt:60}},{age: {$lt: 66}}]},{name:1})

db.colls.find().sort( { ts : -1 } );//1为升序2为降序

1.3.3版别及更高版别包括$not查询

db.colls.find({ “field” : { $lt: value } } );

> db.testcoll.count()

"size" : 80,

/var/lib/mongo

$mod:将指定字段的值进行取模运算,并回来另外数为指定值的文档,语法格局“{field: {$mod: [divisor, remainder]}}”

/usr/bin/mongofiles

> show dbs

{ "_id" : objectid("5602aa5311db41a96277c768"), "name" : "user:6", "age" : 6, "gender" : "f", "preferbooks" : ["first blood","second blood" ] }

{ "_id" : objectid("5602aa5311db41a96277c7c5"), "name" : "user:99", "age" : 99, "gender" : "m", "preferbooks" : ["first blood","second blood" ] }

> db.testcoll.update({name: "user:99"},{$unset: {preferbooks: ""}})

not in查询用字符$nin

"numextents" : 1,

删去collections:

{ "age" : 99, "gender" : "m", "name" : "user:99", "_id" : objectid("5602aa5311db41a96277c7c5") }

[ ~]# rpm -ql mongo-10gen-server

{

db.colls.find( { “field” : { $in : array } } );

db.colls.find( { x : { $ne : 3 } } );

distinct()回来不重复值

{ "_id" : objectid("5602aa5311db41a96277c769"), "name" : "user:7", "age" : 7, "gender" : "f", "preferbooks" : ["first blood","second blood" ] }

> show collections

db.colls.find( { a : { $mod : [ 10 , 1 ] } } )// where a % 10 == 1

说明:实践运用中将寄存数据的目录放在有冗余的逻辑卷上

"paddingfactor" : 1,

这篇文章出自 “习以为常” 博客,请必须保存此出处http://cuchadanfan.blog.51cto.com//

$nin:选择指定字段的值没有坐落指定命组中或不存在的文档,语法格局“{filed: {$nin: [,...valuen]}}”;

$and:非运算,语法格局“{field: {$not: {}}}”

逻辑运算:

/usr/bin/mongoperf

starting mongod: about to fork child process, waiting until server is ready for connections.

db.colls.find({j:{$in: [2,4,6]}});

testcoll

连入数据库

db.colls.find({ “field” : { $gt: value } } );

db.colls.find({j:{$nin: [2,4,6]}});

db.colls.find( { a : { $size: 1 } } );//对目标的数量查询,此查询查询a的子目标数目为1的纪录

$all查询

{ "_id" : objectid("5602aa5311db41a96277c764"), "name" : "user:2", "age" : 2, "gender" : "f", "preferbooks" : ["first blood","second blood" ] }

> db.testcoll.drop()

group()对查询成果分组和sql中group by函数相似

local0.gb

{ "_id" : objectid("5602aa5311db41a96277c764"), "name" : "user:2", "age" : 2, "gender" : "f", "preferbooks" : ["first blood","second blood" ] }

admin(empty)

test0.gb

/etc/sysconfig/mongod

{ "_id" : objectid("5602a24111db41a96277c761"), "name" : "bols" }

> db.testcoll.remove({age:5})

/etc/mongod.conf

> db.testcoll.find().limit(6)

$nor:反运算,即回来不相符统统指定前提的文档,语法格局“$nor: [{},{},.... ,{}]}”

limit()对约束查询数据回来个数

"lastextentsize" : 4096,

5、mongodb的web接口

就刺进了两条数据而占用了100多m的空间,说明很占用存储空间

> show dbs

相称于要选定的字段

},

元素查询:

listen0128*:28017*:*users:(("mongod",4713,11))

[ ~]# rpm -ql mongo-10gen

颠末指定前提查询

{ "_id" : objectid("5602aa5311db41a96277c7c4"), "name" : "user:98", "age" : 98, "gender" : "f", "preferbooks" : ["first blood","second blood" ] }

[ ~]# vim /etc/mongod.conf

查询不包括某内容

反省test库的文档数,及年编大年夜于97的文档:

db.colls.find({}, {a:0});//查询除a为0外的统统数据

空间的预分配:为防止构成过多的硬盘碎片,mongodb每次空间短缺时都邑哀求天生一大年夜块的硬盘空间,并且哀求的量从64m、128m、 256m那样的指数递加,直到2g为单个文件的最大年夜体积随着数据量的增添,你能够在其数据目录里看到这些整块天生容量赓续递加的文件

要是要依据文档中是不是存在某字段等前提来选择文档,则需求用到元素运算

[ ~]# mongo

/usr/bin/mongotop

1、装配mongodb

$gte:选择指定字段值大年夜于即是指定值的文档,语法格局“{field: $gte: value}”;

/usr/bin/bsondump

> db.testcoll.find().limit(5)

{ "_id" : objectid("5602aa5311db41a96277c7c3"), "name" : "user:97", "age" : 97 }

db.colls.find({ “field” : { $lte: value } } );

{ "_id" : objectid("5602aa5311db41a96277c79f"), "name" : "user:61" }

db.colls.find( { x : 3, y : “foo” } );//select * from colls where x=3 and y=’foo’

{ "_id" : objectid("5602aa5311db41a96277c7a2"), "name" : "user:64" }

{ "_id" : objectid("5602aa5311db41a96277c766"), "name" : "user:4", "age" : 4, "gender" : "f", "preferbooks" : ["first blood","second blood" ] }

listen0128*:27017*:*users:(("mongod",4713,9))

db.colls.finwww.63xp.comd( { a : { $type : 2 } } ); // 匹配a为string类型数据

650) this.width=650;" src="http://s3.51cto.com/wyfs02/m00/74/3c/wkiol1yxlvww5mkjaavsegkqpes488.jpg" style="float:none;" title="3.png" alt="wkiol1yxlvww5mkjaavsegkqpes488.jpg" />

查询age大年夜于60并小于66的文档:

local0.gb

将user:4用户的年纪改为22:

connecting to: test

比较运算:

{ "_id" : objectid("5602aa5311db41a96277c7c4"), "name" : "user:98", "age" : 98 }

db.colls.find({‘last_name’: ‘smith’});//select * from colls where last_name=’smith’

{ "_id" : objectid("5602aa5311db41a96277c763"), "name" : "user:1", "age" : 1, "gender" : "f", "preferbooks" : ["first blood","second blood" ] }

删去年纪为5的文档:

{ "_id" : objectid("5602aa5311db41a96277c7a0"), "name" : "user:62" }

/etc/rc.d/init.d/mongod

$exists查询

{ "_id" : objectid("5602aa5311db41a96277c7c5"), "name" : "user:99", "age" : 99 }

"_id_" : 8176

"storagesize" : 4096,

/usr/bin/mongooplog

> db.testcoll.find({adress: {$exists:true}})

> db.testcoll.insert({name:"longls"})

字段名所占用的空间:为了坚持每个纪录内的构造信息用于查询,mongodb需求把每个字段的key-value都以bson的措施存储,要是 value域相关于key域并不大年夜,比方寄存数值型的数据,则数据的overhead是最大年夜的我曾主张作者把字段名作个index,每个字段名用一个字节注解,这么就不必忧虑字段名取多长 了但作者的忧虑也不无事理,这种索引措施需求每次查询获得成果后把索引值跟原值作一个替换,再发送到客户端,这个替换也是挺耗损时候的如今的完成算是 拿空间来互换时候吧

/usr/bin/mongoexport

反省前两行文档:

admin(empty)

支撑, >=查询,需用符号代替分手为$lt,$lte,$gt,$gte

/usr/bin/mongos

数据的刺进

> db.testcoll.insert({name:"bols"})

in查询用字符$in

删去用户为user:3的文档:

$lte:选择指定字段值小于即是指定值的文档,语法格局“{field: {$lte: value}}”;

相似于sql中select句子,其间相称于where子句,而

db.students.find({‘address.state’ : ‘ca’}).count();//功率较高

650) this.width=650;" src="http://s3.51cto.com/wyfs02/m01/74/3c/wkiol1yxlayszgsiaaipnnpop2o249.jpg" title="6.png" alt="wkiol1yxlayszgsiaaipnnpop2o249.jpg" />

1、mongodb与mysql语法比照

"count" : 2,

$type:回来指定字段的值类型为指定类型的文档,语法格局“{field: {$type: }}”

> db.testcoll.stats()

{ "_id" : objectid("5602aa5311db41a96277c7c6"), "name" : "user:100", "age" : 100 }

>

{ "_id" : objectid("5602aa5311db41a96277c7a3"), "name" : "user:65" }

{ "_id" : objectid("5602aa5311db41a96277c7c3"), "name" : "user:97", "age" : 97, "gender" : "f", "preferbooks" : ["first blood","second blood" ] }

> db.testcoll.update({name: "user:4"},{$set: {age: 22}})

要是运用的find()法子中不包括,则意味着要回来对应collection的统统文档

db.colls.find( { a : { $exists : false } } ); // 不存在a目标的数据

{ "_id" : objectid("5602aa5311db41a96277c7a1"), "name" : "user:63" }

{ "_id" : objectid("5602aa5311db41a96277c769"), "name" : "user:7", "age" : 7, "gender" : "f", "preferbooks" : ["first blood","second blood" ] }

/usr/bin/mongoimport

db.colls.find().limit(10)

$ne:选择指定字段值不即是指定值的文档,语法格局“{filed: {$ne: value}}”;

> show collections

增添操练比如:

逻辑运算平日用于毗连多个选择前提,mongodb支撑的逻辑运算“query selector”有以下几种:

/var/log/mongo

{ "_id" : objectid("5602aa5311db41a96277c7c4"), "name" : "user:98", "age" : 98, "gender" : "f", "preferbooks" : ["first blood","second blood" ] }

/var/log/mongo/mongod.log

4、发动数据库

> db.testcoll.find({age: {$gte: 98}})

{ "_id" : objectid("5602aa5311db41a96277c768"), "name" : "user:6", "age" : 6, "gender" : "f", "preferbooks" : ["first blood","second blood" ] }

)”

"ok" : 1

删去纪录不释放空间:这很简单懂得,为防止纪录删去后的数据的大年夜规模移动,原纪录空间不删去,只符号“已删去”即可,往后还能够重复应用

  本文系中国润滑油信息网(www.sinolub.com)原创作品,若需转载务必以超链接的形式注明出处,转载时严禁任何有悖原文的文字修改;本网有权对所有侵权行为进行责任追究。

分享到: QQ空间 新浪微博 人人网 开心网 腾讯微博 更多

相关新闻

友情提醒

本信息真实性未经中国润滑油信息网证实,仅供您参考。未经许可,请勿转载。已经本网授权使用的,应在授权范围内使用,并注明“来源:中国润滑油信息网”。

本网部分文章转载自其它媒体,转载目的在于传递更多行业信息,并不代表本网赞同其观点和对其真实性负责。在本网论坛上发表言论者,文责自负,本网有权在网站内转载或引用,论坛的言论不代表本网观点。本网所提供的信息,如需使用,请与原作者联系,版权归原作者所有。如果涉及版权需要同本网联系的,请在15日内进行。

官方微博

热点招商

奥吉星润滑油全国招商

奥吉星润滑油(天泰集团化工控股有限公司 股票代码:GTS)是由天泰控股的专业润滑油生产企业。 全国招商热线:400-0635-789

Gulf海湾石油面向全国招商

海湾石油(中国)有限公司是Gulf Oil International 在国内的唯一子公司。 现诚招经销商。 招商热线:0535-2161171

埃尼润滑油面向全国招商

埃尼是一家综合性能源企业,业务遍及83个国家,拥有84,000名员工,从事石油和天然气勘探、生产、运输、转化和营销活动,业务涉及化工、油田服务、建筑和工程领域。

关于我们|本网动态|广告服务|联系方式|免责声明|版权信息|法律顾问
CopyRight©2015-2016 Sinolub.Com All Rights Reserved 九鼎公司 版权所有
《中华人民共和国增值电信业务经营许可证》编号:粤B2-20050302
服务热线:0754-88650988 在线服务QQ:619128006 润滑油商机信息群:③:50693127 ④:65958932