MongoDB的使用

今天是进入公司的第一天,得到了一台配置好了所有环境的电脑。

用eclipse打了一遍helloword之后,尝试使用了一下idea。

idea新建project,在指定工程路径的时候,选定的文件夹应当事先建立好。(否则,idea会提示该文件夹不存在,自动创建此文件夹,若是这样的话,编译的时候idea会报错------无法找到或加载main)

之后同组的头儿给我发了个MongoDB的文档,让我适应下新的数据库。

上网找了下安装、环境变量配置、服务配置的方法。发现电脑上已经安装好了MongoDB,根据环境变量路径找到了安装的文件夹。

打开交互页面实验语句的时候,刚开始就遇到了挫折。

------show dbs提示权限不足。

上网找了下,Mongodb在第一次进入的时候,可以添加超级管理员用户,而之后使用数据库就需要登录相关的用户才能获得权限。

但是我不知道之前使用这个电脑的人设置了一些什么账号。

找到的解决方法是,安装目录下的配置文件mongo.config中有一个属性是“auth=true”,这个代表使用授权模式启动服务。

把true改成false,然后重启数据库服务。

重新打开就可以自己添加用户,添删改查测试用的集合了。

======================================================================================================

这里写一些MongoDB的基本操作:

 show dbs //显示所有数据库

 use test //使用指定的数据库,这里的test是数据库的名字

 show collections //显示当前数据库的所有集合(mongodb中的集合相当于sql中的table)

 db.dropDatabase() //删除数据库

 db.test.drop() //删除集合test

-------------------------------------------------------------------------------------------------------------------

添加:

(mongodb和sql不一样的地方是,sql会事先设计好表的属性,然后按照属性添加数据;而mongodb更类似于json,是在集合中储存键值对。)

 db.test.insert("name":“陆卯伍”,"age":"21","sex":"male");   //这应该能看懂,值得一提的是mongodb中默认_id为主键,如果没有添加_id,数据库会自动添加。

 db.test.insert("name":“王大锤”,"age":"22","grade":"1");   //如果再次添加的数据,有新的键出现,同样可以添加成功。(不像sql那样添加数据会被提前设计好的表属性限制)

 db.test.insert("_id":"1","name":“王大”,"age":"22");   //如果自己添加_id,那么按照自己添加的数据为准。

-------------------------------------------------------------------------------------------------------------------

查找:

 db.test_liuxiangyu.find();   //查找test集合中所有数据(和上面插入的语句表名和数据不太一样,但应该能看懂)(这里test_liuxiangyu是表名)。

 db.test_liuxiangyu.find().pretty();   //格式化查询结果,pretty(),好看嘛。

 db.test_liuxiangyu.find({"name":"liuxiangyu3"}).pretty();   //按照键值对精确查询

 db.test_liuxiangyu.find({"name":"liuxiangyu2"},{"age":"21"});   //相当于sql中  where name=‘liuxiangyu2’ and age=‘21’。

 db.test_liuxiangyu.find({ $or:[ {"name":"liuxiangyu2"},{"name":"liuxiangyu3"} ] }).pretty();   //where  xxx or xxx

 

从runoob.com上面盗了张图

 更新:

(偷几张图)

如:

db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}})

//这个只更改一行

db.col.update({'title':'MongoDB 教程'},{$set:{'title':'MongoDB'}},{multi:true})

//这个更改多行

删除:

db.collection.remove(
   <query>, //查询语句
   {
     justOne: <boolean>,
     writeConcern: <document>
   }
)

原文地址:https://www.cnblogs.com/liumaowu/p/9283932.html