Welcome 微信登录

首页 / 数据库 / MySQL / VMWare的Cloud Foundry实践(二):和MongoDB对接成功

晚上继续照着教程,完成了对MongoDB的对接,中间有一些小坎坷。1. 照着这个教程来:http://docs.cloudfoundry.com/services/mongodb/nodejs-mongodb.html2. 下载安装MongoDB:http://www.linuxidc.com/Linux/2012-12/75754.htm3. 新建一个文件夹mongo,创建主页main.js,并写入如下代码:简单说一下,这个代码一开始定义了mongo对象,这个if-else是为了让这个程序在云端和本地都能使用,假如是云端的话,走的时if支线,mongo从VCAP_SERVICES里面取配置。假如是本地的话,走else分支,mongodb的地址是localhost。之后通过函数generate_mongo_url()拼接出mongoDB的URL。之后,再取得了用户的远程地址之后,把他加入数据库,并在浏览器显示。// mongodb-65b2c 
if(process.env.VCAP_SERVICES){ 
  var env = JSON.parse(process.env.VCAP_SERVICES); 
  var mongo = env["mongodb-2.0"][0]["credentials"]; 

else{ 
  var mongo = { 
    "hostname":"localhost", 
    "port":27017, 
    "username":"", 
    "password":"", 
    "name":"", 
    "db":"db" 
  } 

 
var generate_mongo_url = function(obj){ 
  obj.hostname = (obj.hostname || "localhost"); 
  obj.port = (obj.port || 27017); 
  obj.db = (obj.db || "test"); 
 
  if(obj.username && obj.password){ 
    return "mongodb://" + obj.username + ":" + obj.password + "@" + obj.hostname + ":" + obj.port + "/" + obj.db; 
  } 
  else{ 
    return "mongodb://" + obj.hostname + ":" + obj.port + "/" + obj.db; 
  } 

 
var mongourl = generate_mongo_url(mongo); 
 
var record_visit = function(req, res){ 
  /* Connect to the DB and auth */ 
  require("mongodb").connect(mongourl, function(err, conn){ 
    conn.collection("ips", function(err, coll){ 
      /* Simple object to insert: ip address and date */ 
      object_to_insert = { "ip": req.connection.remoteAddress, "ts": new Date() }; 
 
      /* Insert the object then print in response */ 
      /* Note the _id has been created */ 
      coll.insert( object_to_insert, {safe:true}, function(err){ 
        res.writeHead(200, {"Content-Type": "text/plain"}); 
        res.write(JSON.stringify(object_to_insert)); 
        res.end(" "); 
      }); 
    }); 
  }); 

 
var http = require("http"); 
 
http.createServer(function (req, res) { 
        record_visit(req, res); 
    }).listen(3000); 4. 还有重要的一步,在项目的目录下执行npm install mongodb,这个会在项目的文件夹里面,下载一些文件,也就是mongodb的支持库。一开始我在另外一个控制台执行npm install mongodb,以为他对全局都生效,后来在部署的时候,死活通不过,在Checking MongoDB的时候失败!5. 现在可以部署了,使用 vmc update 发布应用。注意,在被问到是不是要额外的Service时,一定要选yes,然后CF云就会帮你添加对MongoDB的支持。6. 测试一下:http://mongoapp.cloudfoundry.com/MongoDB实践之:(一)安装Oracle用户登录密码过期的修改相关资讯      MongoDB教程  VMWare Cloud 
  • MongoDB 入门指南、示例  (07/09/2013 08:38:34)
  • MongoDB 可读性比较差的语句  (12/10/2012 13:43:47)
  • MongoDB- Java API 增删改操作  (09/15/2012 08:50:26)
  • MongoDB入门必读(概念与实战并重)  (07/09/2013 08:30:02)
  • Linux 下 限制 MongoDB 内存占用  (10/22/2012 17:10:01)
  • MongoDB使用手册 PPT  (09/06/2012 20:51:26)
本文评论 查看全部评论 (0)
表情: 姓名: 字数

版权所有©石家庄振强科技有限公司2024 冀ICP备08103738号-5 网站地图