mogodb连接测试

–$in

db.Student.find({"_id":{"$in":[1001,1002,1]}})

–$or

db.Student.find({"$or":[{"_id":99},{"pageViews":2}]})

–and and or

db.Student.find({"pageViews":2,"$or":[{"_id":99}]})

游标控制


for(i=0;i<10;i++){
    db.Student.insert({"_id":i});
}

var cursor=db.Student.find();
cursor.forEach(function(x){
    print(x);
});

–分页查询

db.Student.find().limit(3)
db.Student.find().limit(3).skip(3)

–排序

db.Student.find().sort({"_id":-1})      --1为升序,-1为降序
db.Student.find().sort({"_id":-1,"pageView":1})  --前面如果相同就按后面pageView的升序来排序

DBHelper:

package com.yc.link;

import java.net.UnknownHostException;

import com.mongodb.DB;
import com.mongodb.DBCollection;
import com.mongodb.Mongo;
import com.mongodb.MongoException;

public class DBHelper {
        private static Mongo mongo=null;
        private DB db=null;
        static{
            try {
                mongo=new Mongo(Mypro.getInstance().getProperty("ip"),Integer.parseInt(Mypro.getInstance().getProperty("port")));
            } catch (NumberFormatException e) {
                e.printStackTrace();
            } catch (UnknownHostException e) {
                e.printStackTrace();
            } catch (MongoException e) {
                // TODO Auto-generated catch block
                e.printStackTrace();
            }
        }
        public boolean getDB(String dbName,String name,String pwd){
            mongo.getDB(dbName);
            if(name!=null&&!"".equals(name)&&pwd!=null&&!"".equals(pwd)){
                if(db.authenticate(name, pwd.toCharArray())){
                    return true;
                }else{
                    return false;
                }
            }else{//查看配置文件中是否给定用户名和密码
                String uname=Mypro.getInstance().getProperty("uname");
                String pwds=Mypro.getInstance().getProperty("password");
                if(name!=null&&!"".equals(name)&&pwd!=null&&!"".equals(pwd)){
                    if(db.authenticate(name, pwd.toCharArray())){
                    return true;
                }else{
                    return false;
                }
            }
        }
        return true;
}
        /**
         * 关闭链接
         * */
public void closeAll(Mongo mongo){
    if(mongo!=null){
        mongo.close();
    }
}
/**
 * 获取指定的集合
 * collectionName要链接的集合
 * dbName集合所在的数据库
 * 链接数据的用户名
 * 链接数据库的密码
 *
 * */
public DBCollection getDBCollection(String collectionName,String dbName){
    DBCollection dbCollection=null;
    if(getDB(dbName,null,null)){
        db.requestStart();
        if(collectionName==null){//如果为空则冲配置文件中加载
            collectionName=Mypro.getInstance().getProperty(collectionName);
        }
        dbCollection= db.getCollection(collectionName);
    }else{
        throw new RuntimeException("数据库连接失败.....");
    }
    return dbCollection;
}

public DBCollection getDBCollection(String collectionName,String dbName,String name,String password){
    DBCollection dbCollection=null;
    if(getDB(dbName,name,password)){
        db.requestStart();
        if(collectionName==null){//如果为空则冲配置文件中加载
            collectionName=Mypro.getInstance().getProperty(collectionName);
        }
        dbCollection= db.getCollection(collectionName);
    }else{
        throw new RuntimeException("数据库连接失败.....");
    }
    return dbCollection;
}
}

Mypro:单例

package com.yc.link;

import java.io.IOException;
import java.io.InputStream;
import java.util.Properties;

public class Mypro extends Properties {
        private static Mypro instance=new Mypro();
        private Mypro(){
            InputStream is=Mypro.class.getResourceAsStream("/db.properties");
            try {
                this.load(is);
            } catch (IOException e) {
                e.printStackTrace();
            }finally{
                if(is!=null){
                    try {
                        is.close();
                    } catch (IOException e) {
                        e.printStackTrace();
                    }
                }
            }
        }
        public static Mypro getInstance(){
            return instance;
        }
}
package com.yc.link;

public class Test {
    public static void main(String[] args) {
            DBHelper db=new DBHelper();
            System.out.println(db);
    }

}

db.properties

ip=127.0.0.1

port=27017

dbName=

uname=

password=

collectionName=

DBHelper里应该要多封装一些常用方法,大家可以到网上慢慢收集

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-12-14 07:38:05

mogodb连接测试的相关文章

msyql 连接测试问题

# msyql 连接测试问题 1.在db browser 里面的连接测试问题 出现 Communications link failure 错误 原因在于  Driver template 没有选择数据库类型 2.  出现Access denied for user  'root'@ localist (useing password :YES) 检查 账户和密码 3 .   Cannot load connection class beacause of underlying exceptio

1-安装MQTT服务器(Windows),并连接测试

1-安装MQTT服务器(Windows),并连接测试 摘自:https://www.cnblogs.com/yangfengwu/p/7764667.html 对于不知道MQTT的肯定会问MQTT是干什么的....... 现在我有一个项目需求, 看到这个项目第一想法肯定需要一个服务器,所有的wifi设备和手机都去连接这个服务器,然后服务器进行信息的中转,类似于咱的QQ 这个服务器呢第一种方式是自己开发 就变成了 要是自己开发的话,其实想想就麻烦,要把谁的wifi设备数据给谁,要事先规定好协议,如

MyEclipse连接SQL Server 连接测试

(1)运行SQL Server Configuration Manager在打开的窗口的左边找到 MSSQLSERVER的协议,在右边右单击 TCP/IP,选择"已启用",参照图5.7. 图5.7 启用TCP/IP示意图 (2)右边的TCP/IP,在弹出的窗口中选择IP地址标签,把IPAll中的TCP端口设1433,并将上方所有的已启用选项设置成"是".参照图5.8. 图5.8 设置IPALL示意图 (3)Microsoft SQL Server 2005 → 配置

1、MySql的安装和连接测试

一.mysql数据库的安装 1.打开mysql-5.0.18-win32文件夹,然后点击setup.exe 2.点击next 3.选取“custom”,点击next 4.点击“change”,改变安装路径,然后点击next 5.点击“install”后,等待几秒钟,出现图 6.点next 7.点next 8.点“finish”,进入数据库配置 9.点next 10.点next 11.选取“Server Machine”,点“next” 12.点“next” 13.点“next” 14.点“nex

服务器之间socket传输单链接和多连接测试结果

今天做了一下测试,目的是看看局域网内服务器a,通过一个连接往服务器b传输数据,和通过多个连接传输的不同. 结果发现和多少个连接没关系,一个进程一个连接就能跑满网卡,只要write的时候够快,read的时候够快就可以.1000m网卡,tcp能跑到910m 下面是golang写的程序: server: package mainimport ( "fmt" "net" "os")func main() { l, err := net.Listen(&q

mongodb的安装(window)及java连接测试

首先下载安装 mongodb官网下载 选择window版本 第二步是安装 注意安装目录,我的安装目录是D:\Program Files (x86)\MongoDB 第三步:启动 打开cmd窗口输入然后回车:D: 输入然后回车:cd D:\Program Files (x86)\MongoDB\Server\3.0\bin 继续:mongod -dbpath "D:\Program Files (x86)\MongoDB\Server\3.0\data\db" 注意:这里是指定数据存放的

using the easy connect naming method 简单连接测试

一直都不明白sqlnet.ora中的NAMES.DIRECTORY_PATH= (TNSNAMES, EZCONNECT)是什么意思,今天看到一篇文档,就是登陆选用的方式,做一个测试: tnsnames.ora  10.10.32.119 = (DESCRIPTION = (ADDRESS_LIST = (ADDRESS = (PROTOCOL = TCP)(HOST = 10.10.32.119)(PORT = 1521)) ) (CONNECT_DATA = (SERVICE_NAME =

jmeter JDBC请求连接测试mysql数据库

所有jmeter基本组件功能本文不做介绍.jmeter要链接mysql数据库,首先得下载mysql jdbc驱动包(注:驱动包的版本一定要与你数据库的版本匹配,驱动版本低于mysql版本有可能会导致连接失败报错)我这里下载的是mysql-connector-java-5.1.7-bin.jar 1.准备好驱动包后,需要把jdbc驱动jar包引入测试计划.操作步骤如下图: 点击测试计划-->点击浏览-->选中mysql驱动jar包-->打开 2 OK,这样驱动就引入进来了.接下来新建一个线

.NET在单台Windows2008下百万TCP连接测试

测试客户端: 客户端程序建立TCP连接,发送一条几个字节的数据. 虚拟机8台,PC机8台,服务器1台. 设置MaxUserPort=60000,有一台机没有设置约在1.5万左右.最后因为差一点到100W,在本本上开一个VM XP,勉强连接了3W多.最终达到1006881个连接. 测试服务器: 服务端程序只是接收连接不做其他处理. windows2008 R2 Sp1 标准版,未做任何特殊设置. 14GB内存,最后内存使用98%. Xeon E5405 2.0GHz,几乎不用CPU. 编程语言: