已阅读5页,还剩2页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
命令可直接从文档复制。#后为命令从官网下载mongodb-win32-i386-2.6.6.zip,把解压的文件放到E:mongodb,备用。安装:1、配置环境变量path,加上“;E:mongodbbin;”,在E:mongodb下建立文件夹date-db,形成目录“E:mongodbdatadb”。2、(windows)doc下打开两个cmd窗口(A服务窗口、B客户端窗口)。A中输入#mongod -dbpath E:mongodbdatadb稍等片刻后-B中输入#mongo当A中出现如下图类似字样,则说明连接成功。(亦是安装成功)默认连接端口为27017Mongodb学习第二次启动mongodb服务。用cmd打开窗口(A服务窗口、B客户端窗口)。A中输入命令:# mongod -dbpath=E:mongodbdatadb将MongoDB作为 Windows 服务随机启动:#mongod -dbpath=E:mongodbdatadb -logpath=E:mongodblogsmongodb.log -install若出现“32-bit servers dont have journaling enabled by default. Please use -journal if you want durability.”无碍进入计算机-管理-服务,可看到有一个名为MongoDB的服务。右键“启动”即可。卸载服务:#mongod -dbpath=E:mongodbdatadb -remove -serviceName MongoDB进入计算机-管理-服务,之前名为MongoDB的服务不见了。B中输入:#mongo创建用户 use admin 跳转进入admin用户下。 db.addUser(chenxi,chenxi123)出现“WARNING: The addUser shell helper is DEPRECATED. Please use createUser insteadSuccessfully added user: user : chenxi, roles : root ”无碍 db.auth(chenxi,chenxi123)1用户校验成功,注:只是普通用户,0为未匹配 db.removeUser(chenxi) 或 db.dropUser(chenxi)删除用户 db.addUser(admin,admin123)WARNING: The addUser shell helper is DEPRECATED. Please use createUser insteadSuccessfully added user: user : admin, roles : root use chenxi 转到chenxi用户下 db.addUser(padmin,padmin123) 创建普通存储用户Database的相关操作 show dbs 显示数据库列表 show collections 显示当前数据库的集合(类似关系数据库中的表) show users 显示用户(仅限当前级别下的) use local转到local数据库下,格式为use db.help() 显示数据库操作命令 db.foo.help()显示集合命令创建一个不存在的数据库chenxitestdb use chenxitestdb创建一个名为“tmpusers”聚集集合 db.createCollection(tmpusers) ok : 1 db.dropDatabase() dropped : chenxitestdb, ok : 1 当前使用的数据库被删除 db.cloneDatabase(127.0.0.1)将指定IP地址的数据库克隆到本地当前数据库 db.copyDatabase(chenxitest,chenxitestcp,127.0.0.1)将IP地址为127.0.0.1上的chenxitest数据库复制到本地chenxitestcp数据库中 db.repairDatabase()修复数据库,mysql中不存在 db.stats()可查看当前数据库的状态,在db.help()中可以找到 db.version()可以查看当前的mongodb版本 db.getMongo()connection to 127.0.0.1当前db连接机器的IP地址Collection聚集集合 db.createCollection(mytestcoll, size : 20, capped : 5, max : 100 )创建一个名为mytestcoll的聚集集合,大小为20字节,最大为100字节,capped是否为真表示为固定集合。 db.getCollection(account)得到指定名称的聚集集合(table) db.getCollectionNames()得到当前db的所有聚集集合 db.printCollectionStats()显示当前db所有聚集索引状态其它 db.getPrevError() err : null, n : 1, nPrev : 4, ok : 1 db.resetError() ok : 1 查看聚集集合基本信息(前提:在mytest数据库下创建名为mytestcoll的聚集集合 db.mytestcoll.help()查看该集合下的帮助。 db.mytestcoll.count()查看当前集合下的数据条数0 db.mytestcoll.dataSize()查看当前数据空间大小0 db.mytestcoll.getDB()得到当前聚集集合所在的数据库名称Mytest db.mytestcoll.totalSize()得到聚集集合的总大小12272 db.mytestcoll.stats()得到将聚集集合的状态。 db.mytestcoll.storageSize()得到该聚集集合的存储空间(包括空闲的空间)4096 db.mytestcoll.getShardVersion() 得到用户shard版本信息。 db.mytestcoll.renameCollection(myrename)重命名聚集集合 ok : 1 show collectionsMyrename(名字改了!)System.indexes db.mytestcoll.drop()删除名为mytestcoll聚集集合true聚集集合查询 show collectionsmytestcollsystem.indexes db.mytestcoll.find() 为空,因为mytestcoll中不存在记录。等价于select * from mytestcoll db.system.indexes.find() v : 1, key : _id : 1 , name : _id_, ns : mytest.mytestcoll 默认每页显示20条记录,当显示不下的情况下,可以用it迭代命令查询下一页数据。注意:键入it命令不能带“;”但是你可以设置每页显示数据的大小,用DBQuery.shellBatchSize= 50;这样每页就显示50条记录了。 db.mytestcoll.insert(key1:testkey1,key2:testkey2,key3:testkey3)在聚集集合中插入一个文档WriteResult( nInserted : 1 ) db.mytestcoll.insert(key1:testkey1,key3:testkey3_1,key2:testkey2_1)WriteResult( nInserted : 1 ) db.mytestcoll.find() _id : ObjectId(54b4b28860a9f83fc16e738d), key1 : testkey1, key2 : testkey2, key3 : testkey3 _id : ObjectId(54b4b32c60a9f83fc16e738e), key1 : testkey1, key3 : testkey3_1, key2 : testkey2_1 db.mytestcoll.save(key1:mytestkey1,key2:testkey2)也能保存一个文档到聚集集合WriteResult( nInserted : 1 ) DBQuery.shellBatchSize= 1设置了每页显示几条记录,现在设置为1条1 db.mytestcoll.find() _id : ObjectId(54b4b28860a9f83fc16e738d), key1 : testkey1, key2 : testkey2, key3 : testkey3 Type it for more it 显示下一页的记录 _id : ObjectId(54b4b32c60a9f83fc16e738e), key1 : testkey1, key3 : testkey3_1, key2 : testkey2_1 db.mytestcoll.find(key2:testkey2_1) 以键值形式获取查询到的结果 相当于select * from mytestcollwhere key2= “testkey2_1”; _id : ObjectId(54b4b32c60a9f83fc16e738e), key1 : testkey1, key3 : testkey3_1, key2 : testkey2_1 db.mytestcoll.find(key2:$lt: 22)查找key222的值,相当于select * from mytestcoll where key2 db.mytestcoll.find(key2:$lte: 22)查找key2=22的值,相当于select * from mytestcoll where key2 db.mytestcoll.find(key2:$gt: 22)查找key222的值,相当于select * from mytestcoll where key222; db.mytestcoll.find(key2:$gte: 22)查找key2=22的值,相当于select * from mytestcoll where key2=22; db.mytestcoll.find(key2:$gt:11,$lte:22)查找22=key211的值 db.mytestcoll.find(key2:/test/)等价于select * from mytestcoll where key2 like %test% _id : ObjectId(54b4b28860a9f83fc16e738d), key1 : testkey1, key2 : testkey2, key3 : testkey3 _id : ObjectId(54b4b32c60a9f83fc16e738e), key1 : testkey1, key3 : testkey3_1, key2 : testkey2_1 db.mytestcoll.find(key2:/test/)等价于select * from mytestcoll where key2 like test%查找key2中,以”test”开头的文档 _id : ObjectId(54b4b28860a9f83fc16e738d), key1 : testkey1, key2 : testkey2, key3 : testkey3 _id : ObjectId(54b4b32c60a9f83fc16e738e), key1 : testkey1, key3 : testkey3_1, key2 : testkey2_1 查询指定列name、age数据db.userInfo.find(, name: 1, age: 1);相当于:select name, age from userInfo;当然name也可以用true或false,当用ture的情况下河name:1效果一样,如果用false就是排除name,显示name以外的列信息。查询指定列name、age数据, age 25db.userInfo.find(age: $gt: 25, name: 1, age: 1);相当于:select name, age from userInfo where age 25;按照年龄排序升序:db.userInfo.find().sort(age: 1);降序:db.userInfo.find().sort(age: -1);查询前5条数据db.userInfo.find().limit(5);相当于:selecttop 5 * from userInfo;查询10条以后的数据db.userInfo.find().skip(10);相当于:select * from userInfo where id not in (selecttop 10 * from userInfo);查询第五条记录之后的10条记录db.userInfo.find().limit(10).skip(5);可用于分页,limit是pageSize,skip是第几页*pageSizeor与 查询db.userInfo.find($or: age: 22, age: 25);相当于:select * from userInfo where age = 22 or age = 25;查询第一条数据db.userInfo.findOne();相当于:selecttop 1 * from userInfo;db.userInfo.find().limit(1);查询某个结果集的记录条数db.userInfo.find(age: $gte: 25).count();相当于:select count(*) from userInfo where age = 20;如果要返回限制之后的记录数量,要使用count(true)或者count(非0)db.users.find().skip(10).limit(5).count(true); db.mytestcoll.find(key1:$exists:true).count()等价于select count(key1) from mytestcoll3 db.mytestcoll.find(key4:$exists:true).count()1索引 db.mytestcoll.ensureIndex(key1:1)以“key1”为索引,创建索引 createdCollectionAutomatically : false, numIndexesBefore : 1, numIndexesAfter : 2, ok : 1 db.mytestcoll.getIndexes()显示所有的索引 db.mytestcoll.totalIndexSize()所有索引所占空间24528 db.mytestcoll.reIndex()读取当前集合的所有索引信息 db.mytestcoll.dropIndex(key1_1)删除名为“key1_1”的索引,“key1_1”为创建索引时,系统根据自己定义的索引名生成(即,自己定义的索引名为“key”,而系统生成的为“name”) nIndexesWas : 3, ok : 1 db.mytestcoll.dropIndex( key1 : 1 )删除自己定义的名为“key1_1”的索引。 db.mytestcoll.dropIndexes()删除用户定义的所有索引聚集集合操作1、添加db.users.save(name: zhangsan, age: 25, sex: true);添加的数据的数据列,没有固定,根据添加的数据为准2、修改db.collection.update(criteria, objNew, upsert, multi )criteria:update的查询条件,类似sql update查询内where后面的objNew:update的对象和一些更新的操作符(如$,$inc.)等,也可以理解为sql update查询内set后面的。upsert :
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 改-技术等级考试题-钣金(初级)
- 2025 年大学复合材料与工程(复合材料加工操作)试题及答案
- 2025 年大学人工智能(自然语言处理基础)试题及答案
- 数据库 复习试题及答案
- 新奥集团安全知识竞赛题库-(二)安全基础知识
- 新编基础会计第会计基本常识测试答案
- 施工员的面试题目及答案
- 游乐场所的安全课件
- 月国际贸易跟单员实务考试试卷及答案
- 藏博会期间应急预案(3篇)
- 人工智能在飞行员模拟训练中的应用
- 新时代高校劳动教育智慧树知到期末考试答案章节答案2024年华东交通大学
- 2024-2030年中国轻钢市场发展现状调研及投资趋势前景分析报告
- 职业健康体检报告
- 青年创新创业协会建设方案
- 高中与大学知识衔接
- GB/T 41247-2023电子商务直播售货质量管理规范
- GilAir-Plus高低流量空气采样泵操作规程和维护程序
- 培训2.0材料mncrm pcmtpm财务部分
- SB/T 11016-2013足部保健按摩服务规范
- GB/T 4062-2013三氧化二锑
评论
0/150
提交评论