`
ningwuyu
  • 浏览: 49121 次
  • 性别: Icon_minigender_1
  • 来自: 沈阳
社区版块
存档分类
最新评论

monodb

 
阅读更多
撒旦法的撒发生的
分享到:
评论
6 楼 ningwuyu 2011-11-25  
启动main方法的dos

title UserData
@echo off
set classdir = WebRoot\WEB-INF\lib;WebRoot\WEB-INF\classes;
setlocal ENABLEDELAYEDEXPANSION
set classpath=%classpath%;%classdir%
for /R "WebRoot\WEB-INF\lib" %%i in (*.jar) do set classpath=!classpath!;%%i
java com.huawei.idac.userdata.Startup
setlocal DISABLEDELAYEDEXPANSION
endlocal
pause
5 楼 ningwuyu 2011-10-27  
2.2 安装方法
通过mongod –install命令把mongodb注册成为window service。
1) 创建数据库存储目录;例如:d:\data\db
2) 通过命令行执行:
mongod --bind_ip 127.0.0.1 --logpath d:\data\logs --logappend --dbpath d:\data\db
--directoryperdb –install
【注:将mongodb安装成服务,装该服务绑定到IP127.0.0.1,日志文件为d:\data\logs,以及添加方式记录。数据目录为d:\data\db。并且每个数据库将储存在一个单独的目录(--directoryperdb)】
安装成功后,如下图:

3) 启动服务后,尝试是否可用,通过命令行进入%MONGODB_HOME%\bin下执行mongo.exe命令后出现如下图所示信息表示连接成功:

第3章 MongoDB语法
3.1 基本命令
3.1.1. 启动mongodb
run 直接启动:
例如:mongod run

--dbpath 指定存储目录启动:
例如:mongod –dbpath = d:\ db

--port 指定端口启动:(默认端口是:27017)
例如:mongod --port 12345。
3.1.2. 停止mongodb
在窗口模式中,可以直接使用Ctrl+C停止服务。
4 楼 ningwuyu 2011-10-27  
5.MongoDB一般情况下都可以支持主主复制,但是在大部分情况下官方不推荐使用
运行 的master - master的准备工作是:
新建存放数据 库文件 的路径
$mkdir mongodata/mm_28050 mongodata/mm_28051
运行mongodb数据库 ,一个端口 为:28050,一个为:28051
$ mongodb/bin/mongod --port 28050 --dbpath ~/mongodata/mm_28050 --master --slave --source localhost:28051 > /dev/null &
$ mongodb/bin/mongod --port 28051 --dbpath ~mongodata/mm_28051 --master --slave --source localhost:28050 > /dev/null &
可以通过ps -ef|grep mongod 或 netstat -an -t来检查是否运行功能


测试master - master模式 :
$ mongodb/bin/mongo --port 28050
MongoDB shell version: 1.2.4-
url: test
connecting to: 127.0.0.1:28050/test
type "help" for help
> show dbs
admin
local
> db
test
> db.user.insert({_id:1,username:"Falcon.C",age:25,sex:"M"});
> db.user.find();
{ "_id" : 1, "username" : "Falcon.C", "age" : 25, "sex" : "M" }
> db.user.find();  //在28051端口插入数据后,再来查询,看数据是否同步
{ "_id" : 1, "username" : "Falcon.C", "age" : 25, "sex" : "M" }
{ "_id" : 2, "username" : "NetOne", "age" : 24, "sex" : "F" }
>
$ mongodb/bin/mongo --port 28051
MongoDB shell version: 1.2.4-
url: test
connecting to: 127.0.0.1:28051/test
type "help" for help
> db
test
> show collections         端口28050已经新建了一个user表并插入了一条数据,这里多出2表
system.indexes
user
> db.user.find();        //查询表user发现数据已经同步
{ "_id" : 1, "username" : "Falcon.C", "age" : 25, "sex" : "M" }
> db.user.insert({_id:2,username:"NetOne",age:24,sex:"F"});在此插入数据看数据是否双向同步
> db.user.find(); 
{ "_id" : 1, "username" : "Falcon.C", "age" : 25, "sex" : "M" }
{ "_id" : 2, "username" : "NetOne", "age" : 24, "sex" : "F" }
>
通过以上开启两终端分别连接到28050、28051端口,分别插入测试数据发现,一切正常,正如我们所想的那样实现数据的双向同步
3 楼 ningwuyu 2011-10-27  
4、MongoDB主从复制介绍
MongoDB的主从复制其实很简单,就是在运行 主的服务器 上开启mongod进程 时,加入参数--master即可,在运行从的服务器上开启mongod进程时,加入--slave 和 --source 指定主即可,这样,在主数据 库更新时,数据被复制到从数据库中

(这里日志 文件 和访问 数据时授权用户暂时不考虑 )
下面我在单台服务器上开启2 deamon来模拟2台服务器进行主从复制:
$ mkdir m_master m_slave
$mongodb/bin/mongod  --port  28018 --dbpath ~/m_master  --master  &
$mongodb/bin/mongod  --port  28019 --dbpath ~/m_slave  --slave  --source   localhost:28018  &
这样主从服务器都已经启动了,可以利用 netstat -an -t 查看28018、28019端口是否开放


登录主服务器:
$ mongodb/bin/mongo --port 28018
MongoDB shell version: 1.2.4-
url: test
connecting to: 127.0.0.1:28018/test
type "help" for help
> show dbs
admin
local
test
> use test
switched to db test
> show collections
这里主上的test数据什么表都没有,为空,查看从服 务器同样也是这样
$ mongodb/bin/mongo --port 28019
MongoDB shell version: 1.2.4-
url: test
connecting to: 127.0.0.1:28019/test
type "help" for help
> show dbs
admin
local
test
> use test
switched to db test
> show collections
那么现在我们来验证主从数据是否会像想象的那样同步 呢?


我们在主上新建表user
> db 
test
>db.createCollection("user");
> show collections       
system.indexes
user
>
表 user已经存在了,而且test库中还多了一个system.indexes用来存放索引的表

到从服务器上查看test库:
> db 
test
> show collections          
system.indexes
User
> db.user.find();
>
从 服务器的test库中user表已经存在,同时我还查了一下user表为空
现在我们再来测试一下,向主服务器test库的user表中插入一条数据
> show collections          
system.indexes
user
> db.user.insert({uid:1,name:"Falcon.C",age:25});
> db.user.find();                              
{ "_id" : ObjectId("4b8226a997521a578b7aea38"), "uid" : 1, "name" : "Falcon.C", "age" : 25 }
>
这 时我们查看从服务器的test库user表时会多出一条记录来:
> db.user.find();
{ "_id" : ObjectId("4b8226a997521a578b7aea38"), "uid" : 1, "name" : "Falcon.C", "age" : 25 }
>
MongoDB 还有 Replica Pairs 和 Master - Master
参考地址:http://www.mongodb.org/display/DOCS/Master+Slave
2 楼 ningwuyu 2011-10-27  
3、MongoDB语法与现有关系型数据库SQL语法比较
MongoDB语法 MySql语法
db.test.find({'name':'foobar'}) <==> select * from test where name='foobar'
db.test.find() <==> select * from test
db.test.find({'ID':10}).count() <==> select count(*) from test where ID=10
db.test.find().skip(10).limit(20) <==> select * from test limit 10,20
db.test.find({'ID':{$in:[25,35,45]}}) <==> select * from test where ID in (25,35,45)
db.test.find().sort({'ID':-1}) <==> select * from test order by ID desc
db.test.distinct('name',{'ID':{$lt:20}}) <==> select distinct(name) from test where ID<20
db.test.group({key:{'name':true},cond:{'name':'foo'},reduce:function(obj,prev){prev.msum+=obj.marks;},initial:{msum:0}}) <==> select name,sum(marks) from test group by name
db.test.find('this.ID<20',{name:1}) <==> select name from test where ID<20
db.test.insert({'name':'foobar','age':25})<==>insert into test ('name','age') values('foobar',25)
db.test.remove({}) <==> delete * from test
db.test.remove({'age':20}) <==> delete test where age=20
db.test.remove({'age':{$lt:20}}) <==> elete test where age<20
db.test.remove({'age':{$lte:20}}) <==> delete test where age<=20
db.test.remove({'age':{$gt:20}}) <==> delete test where age>20
db.test.remove({'age':{$gte:20}}) <==> delete test where age>=20
db.test.remove({'age':{$ne:20}}) <==> delete test where age!=20
db.test.update({'name':'foobar'},{$set:{'age':36}}) <==> update test set age=36 where name='foobar'
db.test.update({'name':'foobar'},{$inc:{'age':3}}) <==> update test set age=age+3 where
name='foobar'
1 楼 ningwuyu 2011-10-27  
2、数据集(表)操作
db.test.find({id:10}) 返回test数据集ID=10的数据集
db.test.find({id:10}).count() 返回test数据集ID=10的数据总数
db.test.find({id:10}).limit(2) 返回test数据集ID=10的数据集从第二条开始的数据集
db.test.find({id:10}).skip(8) 返回test数据集ID=10的数据集从0到第八条的数据集
db.test.find({id:10}).limit(2).skip(8) 返回test数据集ID=1=的数据集从第二条到第八条的数据
db.test.find({id:10}).sort() 返回test数据集ID=10的排序数据集
db.test.findOne([query]) 返回符合条件的一条数据
db.test.getDB() 返回此数据集所属的数据库名称
db.test.getIndexes() 返回些数据集的索引信息
db.test.group({key:...,initial:...,reduce:...[,cond:...]})
db.test.mapReduce(mayFunction,reduceFunction,<optional params>)
db.test.remove(query) 在数据集中删除一条数据
db.test.renameCollection(newName) 重命名些数据集名称
db.test.save(obj) 往数据集中插入一条数据
db.test.stats() 返回此数据集的状态
db.test.storageSize() 返回此数据集的存储大小
db.test.totalIndexSize() 返回此数据集的索引文件大小
db.test.totalSize() 返回些数据集的总大小
db.test.update(query,object[,upsert_bool]) 在此数据集中更新一条数据
db.test.validate() 验证此数据集
db.test.getShardVersion() 返回数据集共享版本号

相关推荐

    monodb 实战

    monodb 实战

    完整的monodb封装(.net/c#版)

    操作monodb的c#封装,调用非常方便,可以继承,功能包括: 1、所有数据库操作 2、前台表格类数据获取 public List&lt;Document&gt; GetList(List&lt;string&gt; lstColName, Document query, JqGridParam jqParam, ref int count)...

    monoDB入门 第七天

    适合monoDB初学者,希望可以帮到大家

    monoDB入门 第六天

    适合monoDB初学者,希望可以帮到大家

    monoDB入门 第八天

    适合monoDB初学者,希望可以帮到大家

    monodb最新版本

    MongoDB 是一个流行的开源、分布式文档数据库系统,它属于NoSQL数据库家族,以其灵活的数据模型、高可用性和可扩展性而受到广泛欢迎。在本文中,我们将深入探讨MongoDB的最新版本,特别是针对Linux 64位系统的安装...

    monoDB入门

    适合monoDB初学者,希望可以帮到大家

    基于vue全家桶+node.js+monodb的在线购物商城

    【标题】:“基于vue全家桶+node.js+mongodb的在线购物商城” 【描述】:这个项目是一个毕业设计,采用现代前端框架Vue.js的完整工具集(即“vue全家桶”),后端使用Node.js作为服务器环境,搭配NoSQL数据库...

    springmvc+mybatis+mongoDB

    在IT行业中,构建高效、可扩展的Web应用是至关重要的,而Spring MVC、MyBatis和MongoDB这三者正是实现这一目标的强大工具。本文将深入探讨这些技术及其整合方式。 首先,Spring MVC是Spring框架的一部分,是一个...

    mongodb开启SSL传输加密

    MongoDB是一款流行且功能强大的开源NoSQL数据库系统,支持多种数据模型,如文档型、图形型和键值对。在现代网络安全环境中,确保数据在传输过程中的安全性至关重要,SSL(Secure Socket Layer)或其更新版本TLS...

    mongo.tar 镜像

    mongo docker 镜像

    mongodb.dll 下载.zip

    MongoDB是一个开源、分布式、高性能的NoSQL数据库,以其灵活性、可扩展性和高可用性而闻名。`mongodb.dll`是MongoDB数据库系统在Windows平台上运行所必需的一个动态链接库(DLL)文件,它包含了MongoDB客户端和...

    MongoDB查询练习题及答案

    MongoDB 是一种流行的 NoSQL 数据库,以文档型数据存储为主,支持丰富的查询表达能力。在本题中,我们将探讨 MongoDB 的查询操作,基于提供的 `user1` 和 `user2` 文档进行练习。 首先,让我们熟悉一下 `db.users....

    Car-eye 车辆管理平台部署手册(V1.0)1

    端口开放要求包括数据库连接、MQ 连接、Monodb 访问连接、Redis 连接、Nfs 文件访问、Web 服务、FTP 访问和传输等。 安装步骤包括使用 Car-eye 安装工具完成整个项目的部署,也可以手工完成安装。部署的主要内容...

    Mongodb数据库

    cd /usr/local/server/monodb mkdir –p data/shard11 mkdir –p data/shard21 touch data/shard11.log touch data/shard21.log ``` Server2: ``` su – mongodb cd /usr/local/server/monodb mkdir data mkdir -p ...

    云计算平台Hadoop的部署

    云计算平台Hadoop的部署

    Mongodb常用指令

    ### MongoDB 常用指令详解 #### 一、启动与管理MongoDB服务 - **启动MongoDB服务**: ... - **停止MongoDB服务**: ... - `sc delete MongoDB`: 在Windows环境下删除MongoDB服务。... - 在命令行中输入`mongo`即可进入...

    pms_database_deployer:将解析的页面部署到 monodb

    标题中的“pms_database_deployer”是一个项目或工具的名称,专门用于将解析的PMS(Project Management System,项目管理系统)数据库内容部署到MongoDB,一个流行的NoSQL数据库系统。这个工具很可能用JavaScript...

    ecommerce-store:使用ReactJs,Express和MonoDB建立的公司电子商务商店

    电子商务商店 资料夹结构 1. client folder contains all the front-end related stuff. 2. server folder contains all the backend related stuff. 服务器端 1. cd controllers - ... 2.... 3.... SECRET = '&lt;JWT&gt;

    VEFT514-LargeAssignment2:使用nodejs,expressjs,monodb和mongoose的Web服务中的大型分配

    VEFT514-LargeAssignment2 在运行之前安装npm苏巴斯塔斯大厦您已被聘为一家名为Mansion de Subastas的艺术品销售公司的首席开发人员。 他们沉迷于NodeJS,不会接受其他任何东西作为他们的技术堆栈。...

Global site tag (gtag.js) - Google Analytics