MongoDB使用笔记

先创建目录,创建log文件,然后启动服务
cd /d D:\Program Files\MongoDB\Server\3.4\bin\
mongod.exe --dbpath d:\data\db --logpath "D:\data\dbConf\mongodb.log"  --auth

作为服务运行:
mongod.exe --auth --bind_ip 127.0.0.1 --logpath "D:\data\dbConf\mongodb.log" --logappend --dbpath "D:\data\db" --port 27017--serviceName "MongoDBServer27017" --serviceDisplayName "MongoDBServer27017" --install

shell:
mongo
> db.runoob.insert({x:10,y:"test10"})
WriteResult({ "nInserted" : 1 })
> db.runoob.find()
{ "_id" : ObjectId("5604ff74a274a611b0c990aa"), "x" : 10 }
>

查看所有有效的数据库
show dbs

创建数据库/切换到数据库:
use testdb
插入数据,不指定_id字段,会生成一个随机串
db.testdb.insert({x:10,y:"test10"})
插入数据,指定_id字段
db.col1.insert({_id:1,title:'标题1',by:'test1'})))

删除数据库:
db.dropDatabase()

插入文档
db.COLLECTION_NAME.insert(document)

更新第一条匹配的文档:
db.col1.update({'title':'标题1'},{$set:{'title':'标题1test'}})
更新多条匹配的文档:
db.col1.update({'title':'标题1'},{$set:{'title':'标题1test'}},{multi:true})

添加数据库用户
mongo
use admin
db.createUser({user:'root',pwd:'123456',roles:['userAdminAnyDatabase','dbAdminAnyDatabase','root']})
use test
db.createUser({user:'test',pwd:'123456',roles:['dbOwner']}) -- 给test数据库创建一个访问用户
use admin
db.grantRolesToUser( "root" , [ { role: "dbOwner", db: "test" } ]) ; -- 把admin的用户授权给test数据库
db.site.drop(); -- 删除集合

登录用户
mongo
use admin
db.auth('root','123456')
db.system.users.find()
删除指定用户
db.system.users.remove({'user':'用户名'})

use test
db.tb1.insert({_id:100,name:"stu100",age:23})
db.tb1.insert({_id:103,name:"stu103",age:21})
db.tb1.insert({_id:104,name:"stu104",age:24})
db.tb1.insert({_id:105,name:"stu105",age:25})
db.tb1.insert({_id:107,name:"stu107",age:28})
db.tb1.find();

db.tb1.find({"_id":103}).pretty()

db.tb1.find(
   {
      $or: [
         {_id: 103}, {_id:105}
      ]
   }
).pretty()

db.tb1.find({"age":{$gte : 24}}).limit(2).skip(1).sort({_id:1})
查看运行状态
mongostat -u root -p 123456 --authenticationDatabase=admin
mongotop -u root -p 123456 --authenticationDatabase=admin

参考链接
http://www.runoob.com/mongodb/mongodb-query.html

http://blog.sina.com.cn/s/blog_6e4059a40101b5z7.html
时间: 2024-10-30 11:33:48

MongoDB使用笔记的相关文章

MongoDB学习笔记(五) MongoDB文件存取操作

由于MongoDB的文档结构为BJSON格式(BJSON全称:Binary JSON),而BJSON格式本身就支持保存二进制格式的数据,因此可以把文件的二进制格式的数据直接保存到MongoDB的文档结构中.但是由于一个 BJSON的最大长度不能超过4M,所以限制了单个文档中能存入的最大文件不能超过4M.为了提供对大容量文件存取的支持,samus驱动提供了 "GridFS"方式来支持,"GridFS"方式文件操作需要引入新的程序集"MongoDB.GridF

MongoDB学习笔记(四) 用MongoDB的文档结构描述数据关系

MongoDB的集合(collection)可以看做关系型数据库的表,文档对象(document)可以看做关系型数据库的一条记录.但两者并 不完全对等.表的结构是固定的,MongoDB集合并没有这个约束:另外,存入集合的文档对象甚至可以嵌入子文档,或者"子集合".他们最终都可以用类似 于BJSON的格式描述.我们今天就来分析MongoDB这一特性带来的独特数据管理方式.我们还是以samus驱动为例来分析,samus驱动支持两种 方式访问数据库,基本方式和linq方式,基本方式在上篇以介

MongoDB学习笔记(三) 在MVC模式下通过Jqgrid表格操作MongoDB数据

下面我们将逐步讲解怎么在MVC模式下将MongoDB数据读取,并展示在前台Jqgrid表格上.这个"简易系 统"的基本设计思想是这样的:我们在视图层展示表格,Jqgrid相关Js逻辑全部放在一个Js文件中,控制层实现了"增删查改"四个业 务,MongoDB的基本数据访问放在了模型层实现   看到下图,是通过Jqgrid实现表格数据的基本增删查改的操作.表格数据增删改是一般企业应用系统开发的常见功能,不过不同的是这个表格数据来源是非关 系型的数据库MongoDB.no

MongoDB学习笔记(二) 通过samus驱动实现基本数据操作

传统的关系数据库一般由数据库(database).表(table).记录(record)三个层次概念组成,MongoDB是由 (database).集合(collection).文档对象(document)三个层次组成.MongoDB对于关系型数据库里的表,但是集合中没 有列.行和关系概念,这体现了模式自由的特点. 一.关于MongoDB的驱动 MongoDB 支持多种语言的驱动,在此我们只介绍C#的驱动.仅C#驱动都有很多种,每种驱动的形式大致相同,但是细节各有千秋,因此代码不能通用.比较常用

MongoDB学习笔记(一) MongoDB介绍与安装方法

最近开始学习非关系型数据库MongoDB,却在博客园上找不到比较系统的教程,很多资料都要去查阅英文网站,效率比较低下.本人不才,借着自学的机会把心得体会都记录下来,方便感兴趣的童鞋分享讨论   一.前言 最近开始学习非关系型数据库MongoDB,却在博客园上找不到比较系统的教程,很多资料都要去查阅英文网站,效率比较低下.本人不才,借着自 学的机会把心得体会都记录下来,方便感兴趣的童鞋分享讨论.部分资源出自其他博客,旨将零散知识点集中到一起,如果有侵犯您的权利,请联系li- pan2@163.co

MongoDB学习笔记(六) MongoDB索引用法和效率分析

MongoDB中的索引其实类似于关系型数据库,都是为了提高查询和排序的效率的,并且实现原理也基本一致.由于集合中的键(字段)可以是普通数据 类型,也可以是子文档.MongoDB可以在各种类型的键上创建索引.下面分别讲解各种类型的索引的创建,查询,以及索引的维护等. 一.创建索引 1. 默认索引 MongoDB有个默认的"_id"的键,他相当于"主键"的角色.集合创建后系统会自动创建一个索引在"_id"键上,它是默认索引,索引名叫"_id

mongodb学习笔记-tina

mongodb mongodb是面向文档的数据库,不是关系型数据库.基本思路是将原来的"行row" 概念换成更加灵活的"文档"document模型.  关于MongoDB的好处,优点之类的这里就不说了,唯一要讲的一点就是MongoDB中有三元素:数据库,集合,文档,其中"集合"就是对应关系数据库中的"表","文档"对应"行". --- [root@viptest2 bin]# ll mo

mongodb 速成笔记

以下环境为mac osx + jdk 1.8 + mongodb v3.2.3 一.安装 brew安装方式是mac下最简单的方式 brew update brew install mongodb 其它OS上的安装请参考:https://docs.mongodb.org/manual/installation/   二.启动 2.1 最基本的启动 mongod  不加任何参数时,db默认保存在/data/db目录(如果该目录不存在,启动会报错),监听的端口是27017,且不启动安全认证机制(即:谁

MongoDB学习笔记(三) 在MVC模式下通过Jqgrid表格操作MongoDB数据_服务器其它

看到下图,是通过Jqgrid实现表格数据的基本增删查改的操作.表格数据增删改是一般企业应用系统开发的常见功能,不过不同的是这个表格数据来源是非关系型的数据库MongoDB.nosql虽然概念新颖,但是MongoDB基本应用实现起来还是比较轻松的,甚至代码比基本的ADO.net访问关系数据源还要简洁.由于其本身的"非关系"的数据存储方式,使得对象关系映射这个环节对于MongoDB来讲显得毫无意义,因此我们也不会对MongoDB引入所谓的"ORM"框架. 下面我们将逐步