发表于 2015-7-9 08:39:15

MongoDB 小试牛刀

  MongoDb是不错的NoSQL数据库之一,NoSQL 的意思是Not Only SQL,比关系型数据库MySQL、SQL Server等更易于扩展,更多的应用于海量数据的存储,且数据可以弹性跨LAN、WAN扩展,因而更适于cloud的环境中。最近开始的一个项目需要用到MongoDB,这里小试牛刀,在本机上安装测试一下。
  
  MongoDB可以从官网上下载, 下载完后解压缩到某个目录,比如C:\MongoDB。要运行MongoDB,首先创建两个目录:
  C:\MongoDB\data用于存储数据
C:\MongoDB\log    用于存储日志
  
  然后进入到命令行:
C:\MongoDB\bin>mongod.exe --dbpath c:\mongodb\data
  
服务器即可启动。
  
  把MongoDB安装为windows服务,命令行搞定:







md C:\mongodb\log




echo logpath=C:\mongodb\log\mongo.log > C:\mongodb\mongod.cfg







C:\mongodb\bin\mongod.exe --config C:\mongodb\mongod.cfg --install




net start MongoDB
  
  然后再开一个cmd窗口,运行mongo,连接到该服务器:
  
C:\>cd MongoDB
  C:\MongoDB>cd bin
  C:\MongoDB\bin>mongo
MongoDB shell version: 2.4.3
connecting to: test
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
      http://docs.mongodb.org/
Questions? Try the support group
      http://groups.google.com/group/mongodb-user
  
  MongoDB这样的NoSQL和常见的关系型数据库不一样,他没有固定的结构,而是是文档的形式保存的,下面是一个测试例子:
> db.test.save({a:1});   //在test表(暂时这么说)中保存一条记录 a = 1
> db.test.find();            // 查找所有记录
{ "_id" : ObjectId("517b4b3823c489619d958d66"), "a" : 1 }
>
  再增加几条记录,注意这些新增的记录中有多了几个字段:
> db.test.save({name:'lisi', score: 87, grade : 'good'});
> db.test.save({name:'wangwu', score: 61, grade : 'pass'});
  
> db.test.find();   
{ "_id" : ObjectId("517b4b3823c489619d958d66"), "a" : 1 }
{ "_id" : ObjectId("517b4eba23c489619d958d67"), "name" : "zhang san", "score" :
93 }
{ "_id" : ObjectId("517b4f3523c489619d958d68"), "name" : "lisi", "score" : 87, "
grade" : "good" }
{ "_id" : ObjectId("517b4f5023c489619d958d69"), "name" : "wangwu", "score" : 61,
"grade" : "pass" }
>
  
  可以看出MongoDB的使用是非常灵活的。具体的用法下来再研究。
页: [1]
查看完整版本: MongoDB 小试牛刀