javascript访问数据库如何操作数据库

使用Javascript进行Mongodb数据库的远程操作
最近在工作中遇到了这么个问题,在软件开发过程中自己在测试服务器上创建了mongodb数据库,开发工作一切都很顺利,但是要上线时,需要提供运行脚本,以保证在现网的数据库中创建和更新数据库。该怎么做呢?
以前没有学过mongodb,更没有学过脚本,于是从百度上和mongodb的官网寻找答案,原来mongodb是可以通过javascript执行命令的,而且mongodb中的指令基本都可以在js脚本中直接原封不动的书写。如下所示:
conn = new Mongo();
db = conn.getDB(&********&);
initPayOrganization();
function initPayOrganization()
&db.payorganization.insert({&organization&:&运营商&,&enable&:true});
接下来就是如何在远程的服务器上执行这个Js脚本,首先我们需要解决的是如何连接到远程数据库。
MongoDB连接远程服务器的命令格式如下:
mongo 远程主机ip或DNS:MongoDB端口号/数据库名 -u user -p password
MongoDB连接远程服务器的命令示例代码如下:
//使用默认端口连接MongoDB
mongo 192.168.1.100
MongoDB shell version: 2.4.8
connecting&to: 192.168.1.100/test
//连接MongoDB并指定端口
mongo 192.168.1.100:27017
//连接到指定的MongoDB数据库
mongo 192.168.1.100:27017/test
//指定用户名和密码连接到指定的MongoDB数据库
mongo 192.168.1.200:27017/test -u user -p password
接下来就是如何实现对远程的Mongodb数据库上运行指定的脚本文件了,很简单,只需要在上面连接的方式后面添加脚本所在的位置。
mongo 192.168.1.200:27017/test -u user -p password ****.js
这里的js脚本路径最好采用完整的路径。
如果您对我的技术专栏文章感兴趣并支持我继续深入的写下去,您可以扫码支持我,毕竟英雄惜英雄嘛,不管多少我都真心的感谢您,毕竟都是对我劳动成果的认可,谢谢(^_^)。。。
看过本文的人也看了:
我要留言技术领域:
取消收藏确定要取消收藏吗?
删除图谱提示你保存在该图谱下的知识内容也会被删除,建议你先将内容移到其他图谱中。你确定要删除知识图谱及其内容吗?
删除节点提示无法删除该知识节点,因该节点下仍保存有相关知识内容!
删除节点提示你确定要删除该知识节点吗?【图文】JavaScript操作数据库_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
JavaScript操作数据库
&&JavaScript操作数据库
大小:241.00KB
登录百度文库,专享文档复制特权,财富值每天免费拿!
你可能喜欢JS操作数据库的实例代码
字体:[ ] 类型:转载 时间:
这篇文章介绍了JS操作数据库的实例代码,有需要的朋友可以参考一下
一、创建SQL Server数据库建库:test建表:
代码如下:/* Navicat MySQL Data Transfer Source Server&&&&&&&& : localhost Source Server Version : 50520 Source Host&&&&&&&&&& : localhost:3306 Source Database&&&&&& : mo Target Server Type&&& : MYSQL Target Server Version : 50520 File Encoding&&&&&&&& : 65001 Date:
12:00:56 */-- ---------------------------- -- Table structure for [user] -- ---------------------------- USE test GO DROP TABLE [user]; CREATE TABLE [user] ( & id bigint NOT NULL PRIMARY KEY IDENTITY(1000, 1), & create_date datetime DEFAULT NULL, & edit_date datetime DEFAULT NULL, & is_delete int DEFAULT NULL, & [name] varchar(255) DEFAULT NULL, & sex varchar(255) DEFAULT NULL, & age int DEFAULT NULL); -- ---------------------------- -- Records of user -- ---------------------------- INSERT INTO [user] VALUES (' 16:01:00', ' 16:01:17', '0', 'Oppo', '男', '20'); INSERT INTO [user] VALUES (' 16:01:02', ' 16:01:17', '0', 'Mini', '女', '18'); INSERT INTO [user] VALUES (' 16:01:04', ' 16:01:17', '0', 'Kina', '女', '18'); INSERT INTO [user] VALUES (' 16:01:06', ' 16:01:17', '0', 'Lora', '男', '19'); INSERT INTO [user] VALUES (' 16:01:08', ' 16:01:17', '0', '榕Sir', '女', '18'); INSERT INTO [user] VALUES (' 16:01:10', ' 16:01:17', '0', '兼容', '女', '19'); INSERT INTO [user] VALUES (' 16:01:13', ' 16:01:17', '0', 'Sir云', '男', '18'); INSERT INTO [user] VALUES (' 16:01:17', ' 16:01:17', '0', '明白了', '男', '18'); INSERT INTO [user] VALUES (' 16:37:00', ' 16:37:00', '0', 'Guro Go Sir', '女', '19');
二、在页面JS代码操作数据库
代码如下:&!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"& &html xmlns="http://www.w3.org/1999/xhtml"& &head& &meta http-equiv="Content-Type" content="text/ charset=utf-8" /& &title&JS操作数据库&/title& &script language="javascript" type="text/javascript"& var conn, /*获取数据库连接*/function getConnection() { &&& conn = new ActiveXObject("ADODB.Connection"); &&& // 1.JavaScript操作数据库JS操作Access数据库 &&& // 在F盘有文件abc.mdf,表名为user,一共2个字段,id数字类型主键,name文本类型 &&& // conn.Open("DBQ=f://abc.DRIVER={Microsoft Access Driver (*.mdb)};"); &&& // 2.JavaScript操作数据库JS操作SQL Server数据库 &&& // 数据库名为:test,表名为user,id为int类型,自增列,name为用户名,为varchar类型;数据库用户名为sa,密码是sasa。 &&& conn.Open("Driver={SQL Server};Server=.;DataBase=UID=Password=sasa");&&&&&& //打开数据库 &&& } /*执行增删改的方法*/function executeUpdate(sql) { &&& getConnection(); &&& try { &&&&&&& conn.execute(sql); &&&&&&& &&& } catch (e) { &&&&&&& document.write(e.description); &&& } finally { &&&&&&& closeAll(); &&& } &&& } /*执行查询的方法*/function executeQuery(sql) { &&& getConnection(); &&& try { &&&&&&& rs = new ActiveXObject("ADODB.Recordset"); &&&&&&& rs.open(sql, conn); &&&&&&& var html = ""; &&&&&&& while(!rs.EOF) { &&&&&&&&&&& html = html + rs.Fields("id") + "&&& " + rs.Fields("name")+"&br/&"; &&&&&&&&&&& rs.moveNext(); &&&&&&& } &&&&&&& document.write(html); &&& } catch (e) { &&&&&&& document.write(e.description); &&& } finally { &&&&&&& closeAll(); &&& } } /*关闭所有资源*/function closeAll() { &&& if(rs != null) { &&&&&&& rs.close(); &&&&&&& rs = &&& } &&& if(conn != null) { &&&&&&& conn.close(); &&&&&&& conn = &&& } } // 增 // executeUpdate("INSERT INTO [user](create_date, edit_date, is_delete, [name], sex, age) VALUES (' 12:00:00', ' 12:00:00', 0, '空', '男', 20)"); // 删 // executeUpdate("DELETE FROM [user] WHERE id = 1009"); // 改 // executeUpdate("UPDATE [user] SET sex = '女', age = 18 WHERE id = 1009"); // 查 executeQuery("select * from [user]"); &/script& &/head& &body& &/body& &/html&
您可能感兴趣的文章:
大家感兴趣的内容
12345678910
最近更新的内容
常用在线小工具将json当数据库一样操作的javascript lib
使用javascript操作JSON的类库TAFFY DB,具体介绍了:查询数据、添加数据、删除数据、修改数据。
前段时间工作中用到Json数据,希望将一些简单的增删改查放到客户端来做,这样也能减少服务器端的压力。分别查找了几个可以对Json进行操作的javascript 类库,最终选定了TAFFY DB。原因如下:
1、使用的是BSD开源协议,不用担心商业使用限制。
2、一直在有人进行更新,并且不和其他框架(如Jquery,YUI,Dojo等)冲突
3、功能齐全——增删改查、排序等等都有了。
4、小巧,压缩后只有17k大小。
所以,工作完后,将这篇文章写出来,并推荐这个类库给大家,希望能够帮助到那些正在寻找Json 查询修改的Coder们一些帮主,并和大家一起交流学习。
TAFFY DB 基本信息
项目主页:/
托管地址:/typicaljoe/taffydb
使用方法:
&script type="text/javascript" charset="utf-8" src="taffy-min.js"&&/script&
// 创建空白数据库
var db = TAFFY();
//创建包含一条数据的数据库
var db = TAFFY({record:1,text:"example"})
//通过数组创建数据库,数组的元素为json格式的object(可多条)
var db = TAFFY([{record:1,text:"example"}])
// 通过json格式字符串创建数据(可多条)
var db = TAFFY('[{"record":1,"text":"example"}]')
查询数据:
首先构建一个数据库,以后的示例,都以这个数据库为准。
var db = TAFFY([//构建一个城市的数据库,字段分别代表 省份、城市名、邮政编码、排序
{ province:"北京", cityName:"北京", zipCode:"10001", orderNum:1},
{ province:"河北", cityName:"石家庄", zipCode:"10002", orderNum:2},
{ province:"河北", cityName:"保定", zipCode:"10003", orderNum:3},
{ province:"河北", cityName:"承德", zipCode:"10004", orderNum:4},
1、根据字段值进行查询
var cities = db({province:"河北"});
//查询所有province 值为"河北"的数据,并返回TAFFY格式的object
//console.log这个函数,只要在有控制台的浏览器中,都可以用,比如火狐的firebug,还有谷歌浏览器的开发人员工具(按F12可呼出)
for(var i = 0; i& cities().count(); i++){
//get()这个TAFFY的函数,可以将TAFFY的object数据转化为json格式
console.log("城市名", cities().get()[i].cityName);
console.log("第一条数据为:", cities().first()); // first()这个函数可以返回json格式的第一条数据
2、根据条件查询 (具体条件请查阅 /writingqueries 的“Comparison Operators”小节
//单条件查询
//查询 排序大于 2 的所有数据
db({ orderNum:{'&':2}});
//范围查询
//查询排序大于2 并且 小于 4 的所有数据
db({ orderNum:{'&':2, '&':4}});
//多条件"与" 查询
//查询大于2,并且 小于4 ,并且 省份为 河北省 的数据
db({ orderNum:{'&':2, '&':4}, province:"河北"});
//多条件"或"查询
// 查询 排序
大于2 或者 小于 4 的数据
db({ orderNum:{'&':2}}, { orderNum : {'&':4}});
//指定数据内查询(where in)
// 查询 城市为
保定、石家庄 的数据
db({ cityName:['保定','石家庄']});
//单条件排序
db().order("orderNum desc");
// 根据orderNum 倒序
db().order("orderNum"); //正序
//多字段排序
db().order("orderNum desc, zipCode asc"); //先按照orderNum倒序,然后按照 zipCode正序
//求最大值
db().max("orderNum"); //得到orderNum的最大值,并返回
//求最小值
db().min("orderNum"); //得到最小的 orderNum
db().sum("orderNum"); //得到所有orderNum的和
//得到第一条数据
db().first();
//取第一条数据,并返回json格式
//得到最后一条数据
db().last(); //取最后一条,并返回json格式
//这个可以用来分页 哈哈
db().start(15).limit(20); //从第15条数据开始,往后取20条
5、内置函数查询,有些数据,需要在查询的时候,就做一些计算,稍显复杂,可以通过内置函数来查询
db().filter(function(){
return this.cityName.length & 2;
//添加一条数据
db.insert({province:"湖南", cityName:"长沙", zipCode:"10005", orderNum:5});
//删除全部数据
db().remove();
//删除所有orderNum 大于5的数据
db({orderNum:{'&':5}}).remove();
//将所有数据 的 orderNum修改为1
db().update({orderNum:1});
//将城市名为北京的 邮政编码修改为 100000
db({cityName:"北京"}).update({zipCode:"100000"})
//将所有的orderNum 都加1
db().update(function(){
this.orderNum = this.orderNum + 1;
特别说明:在有的时候,增删查都没有问题,唯独修改的时候,会碰到报错:找不到字段
这应该是TAFFY的一个小bug,遇到这个情况,重新初始化一下就好,需要用到一个函数
stringify(),这个是将TAFFY DB 的所有数据,变成字符串,所以遇到这种情况,就可以这样做了:
db = TAFFY(db().stringify()); //将内容重新初始化
db().update({column:value});
写到这里,我想这个简单的教程也就算是可以了,已经方便小菜们快速上手这个类库了。
当然,其中还有很多是我没有去提及,需要自己去查询的,比如模糊查询等等,更加复杂的操作。大家可以去项目的官方主页去看。(英文)
Copyright (C) , All Rights Reserved.
版权所有 闽ICP备号
processed in 0.040 (s). 13 q(s)

我要回帖

更多关于 javascript调用数据库 的文章

 

随机推荐