详解MongoDB数据库基础操作及实例

详解数据库基础操作及实例

废话不多说,直接上代码,注释写的比较清楚,大家参考下,

示例代码:

/**
 * 插入一条DB对象
 */
public static void addDBObject(DBCollection collection,BasicDBObject object){
  collection.insert(object);
} 

/**
 * 根据id查询DBObject
 */
public static DBObject getDBObjectById(String value) throws UnknownHostException, MongoException{
  dbc = getDBCollection("company", "users").find(new BasicDBObject("_id",new ObjectId(value)));
  DBObject ob = null;
  int i = 0;
  while(dbc.hasNext()){
    ob = dbc.next();
    i++;
  }
  if(i == 1){
    return ob;
  }else{
    return null;
  }
} 

/**
 * 根据key和value值查询
 */
public static DBObject getDBObject(String key,String value) throws UnknownHostException, MongoException{
  dbc = getDBCollection("company", "users").find(new BasicDBObject(key,value));
  DBObject ob = null;
  int i = 0;
  while(dbc.hasNext()){
    ob = dbc.next();
    i++;
  }
  if(i == 1){
    return ob;
  }else{
    return null;
  }
} 

/**
 * 根据数据库名获取(新增)下面所有聚集名(表名)
 */
public static Set<String> getCollectionsNames(String DBName) throws MongoException, UnknownHostException{
  return getDB(DBName).getCollectionNames();
} 

/**
 * 遍历聚集中的db对象集合(相当于关系数据库中的数据)
 */
public static Set<DBObject> getDBObjects(DBCollection collection){
  Set<DBObject> dbObjects = new HashSet<DBObject>();
  DBCursor cursor = collection.find();
  while(cursor.hasNext()){
    DBObject object = cursor.next();
    dbObjects.add(object);
  }
  return dbObjects;
} 

/**
 * 获取/新增聚集(相当于关系数据库表)
 */
public static DBCollection getDBCollection(String DBName,String collectionName) throws UnknownHostException, MongoException{
  return getDB(DBName).getCollection(collectionName);
} 

/**
 * 获取/新增数据库
 */
public static DB getDB(String DBName) throws UnknownHostException, MongoException{
  return getMongo().getDB(DBName);
} 

/**
 * 连接数据库
 */
public static Mongo getMongo() throws UnknownHostException, MongoException{
  Mongo mg = null;
  if(mg == null){
    mg = new Mongo();
  }
  return mg;
} 

/**
 * 关闭连接
 */
public static void destory(Mongo mg) {
  if (mg != null){
    mg.close();
    mg = null;
  }
  System.gc();
} 

/**
 * 获取数据库名
 */
public static List<String> getDBNames() throws MongoException, UnknownHostException{
  return getMongo().getDatabaseNames();
} 

/**
 * 删除数据库
 */
public static void deleteDB(String DBName) throws MongoException, UnknownHostException{
  getMongo().dropDatabase(DBName);
} 

如有疑问请留言或者到本站社区交流讨论,感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • linux系统下MongoDB单节点安装教程

    前言 MongoDB是一个高性能.开源.无模式的.基于分布式文件存储的文档型数据库,相信对大家都不陌生,这里就不过多介绍了,本文主要介绍了关于mongo单节点(linux下)的安装教程,分享出来供大家参考学习,下面话不多说了,来一起看看详细的安装过程吧. 安装包 下载地址: (https://www.mongodb.com/download-center) 用户权限/目录 1.创建 dbuser用户 groupadd dbgroup useradd dbuser -m -d /home/dbus

  • windows7下使用MongoDB实现仓储设计

    简单的介绍一下,我使用MongoDB的场景. 我们现在的物联网环境下,有部分数据,采样频率为2000条记录/分钟,这样下来一天24*60*2000=2880000约等于300万条数据,以后必然还会增加.之前数据库使用的是mssql,对于数据库的压力很大,同时又需要保证历史查询的响应速度,这种情况下,在单表中数据量大,同时存在读写操作.不得已采用MongoDB来存储数据.如果使用MongoDB,则至少需要三台机器,两台实现读写分离,一台作为仲裁(当然条件不允许也可以不用),每台机器的内存暂时配置在

  • vue+socket.io+express+mongodb 实现简易多房间在线群聊示例

    项目简介 主要是通过做一个多人在线多房间群聊的小项目.来练手全栈技术的结合运用. 项目源码:chat-vue-node 主要技术: vue2全家桶 + socket.io + node(express) + mongodb(mongoose) 环境配置: 需安装配置好 node,mongodb环境(参考:http://www.jb51.net/article/109449.htm); 建议安装 Robomogo 客户端来管理mongodb数据. 编译运行: 1.开启MongoDB服务,新建命令行

  • MongoDB如何查询耗时记录的方法详解

    准备 在此之前,我们先在我们的数据库中插入10万条数据.数据的格式是这样的: { "name":"your name", "age":22, "gender":"male", "grade":2 } explain explain方法是用来查看db.collecion.find()的一些查询信息的.例如: db.collectionName.find().explain() explai

  • java操作mongoDB查询的实例详解

    java操作mongo查询的实例详解 前言: MongoDB是一个基于分布式文件存储的数据库.由C++语言编写.旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的.他支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型.Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且

  • MongoDB 3.4 安装以 Windows 服务方式运行的详细步骤

    1.首先从https://www.mongodb.com/download-center#community 下载社区版,企业版也是类似. 2.双击运行安装,可自定义安装路径,这里采用默认路径(C:\Program Files\MongoDB\Server\3.4) 一路下一步直至安装完毕. 3.创建数据存放目录(这里我放在D:\MongoDB\data). D:\MongoDB\data创建db目录和log目录,分别用来存放数据库文件和日志文件. 4.创建配置文件mongod.cfg存放在D:

  • MongoDB TTL索引的实例详解

    MongoDB TTL索引的实例详解 TTL索引是一种特殊类型的单字段索引,主要用于当满足某个特定时间之后自动删除相应的文档.也就是说集合中的文档有一定的有效期,超过有效期的文档就会失效,会被移除.也即是数据会过期.过期的数据无需保留,这种情形适用于如机器生成的事件数据,日志和会话信息等等.本文主要描述TTL索引的使用. 一.TTL索引 创建方法 db.collection.createIndex(keys, options) options: expireAfterSeconds 指定多少秒或

  • node.js操作MongoDB的实例详解

    node.js操作MongoDB时,需要安装mongodb包 1.使用npm安装cnpm npm install -g cnpm --registry=https://registry.npm.taobao.org 2.使用cnpm安装mongodb包 cnpm install mongodb node.js操作MongoDB时的四种方式:插入数据.更新数据.删除数据.查找数据. 操作步骤 步骤1 创建执行文件xx.js 步骤2 终端调用执行文件 node xx.js 注意: 操作前需要启动服务

  • 关于Mongodb 认证鉴权你需要知道的一些事

    前言 本文主要给大家介绍了Mongodb认证鉴权的一些相关内容,通过设置认证鉴权会对大家的mongodb安全进一步的保障,下面话不多说了,来一起看看详细的介绍吧. 一.Mongodb 的权限管理 认识权限管理,说明主要概念及关系 与大多数数据库一样,Mongodb同样提供了一套权限管理机制. 为了体验Mongodb 的权限管理,我们找一台已经安装好的Mongodb,可以参照这里搭建一个单节点的Mongodb. 直接打开mongo shell: ./bin/mongo --port=27017 尝

  • 详解MongoDB数据库基础操作及实例

    详解数据库基础操作及实例 废话不多说,直接上代码,注释写的比较清楚,大家参考下, 示例代码: /** * 插入一条DB对象 */ public static void addDBObject(DBCollection collection,BasicDBObject object){ collection.insert(object); } /** * 根据id查询DBObject */ public static DBObject getDBObjectById(String value) t

  • MongoDB数据库基础操作总结

    本文实例讲述了MongoDB数据库基础操作.分享给大家供大家参考,具体如下: 1.创建数据库 >use test > db.test.insert({"name":1}) 插入之后才能查到test 2.查看数据库 >show dbs 3.删除数据库 > use test > db.dropDatabase() 4.创建集合 4.1 集合概念 集合就是一组文档,相当于多条记录. > db.title.insert({"name":&

  • 老生常谈MongoDB数据库基础操作

    为了保存网站的用户数据和业务数据,通常需要一个数据库.MongoDB和Node.js特别般配,因为Mongodb是基于文档的非关系型数据库,文档是按BSON(JSON的轻量化二进制格式)存储的,增删改查等管理数据库的命令和JavaScript语法很像.本文将详细介绍MongoDB数据库 数据库 数据库,顾名思义,是数据存储的仓库,主要功能有两个 1.有组织地存放数据 与在磁盘上自己存放文件不同,数据库替用户组织了数据的存储形式,用户只需要按照数据库提供的接口将数据写入,数据便会按照标准的格式被存

  • 详解MongoDB和Spring整合的实例代码

    MongoDB现在用的非常非常多,如何和Spring整合也是经常碰到的问题. Spring提供了MongoTemplate这样一个模板类的实现方法,简化了具体操作. 下面讲一下具体实现: 添加依赖 <dependency> <groupId>org.springframework.data</groupId> <artifactId>spring-data-mongodb</artifactId> <version>1.10.3.RE

  • laravel框架模型和数据库基础操作实例详解

    本文实例讲述了laravel框架模型和数据库基础操作.分享给大家供大家参考,具体如下: laravel分为三大数据库操作(DB facade[原始查找],查询构造器[Query Builder],Eloquent ORM): use Illuminate\Support\Facades\DB; 1.DB facade[原始查找] $results = DB::select('select * from users where id = :id', ['id' => 1]); DB::insert

  • R语言对数据库进行操作的实例详解

    数据是关系数据库系统以规范化格式存储. 因此,要进行统计计算,我们将需要非常先进和复杂的Sql查询. 但R语言可以轻松地连接到许多关系数据库,如MySql,Oracle,Sql服务器等,并从它们获取记录作为数据框. 一旦数据在R语言环境中可用,它就变成正常的R语言数据集,并且可以使用所有强大的包和函数来操作或分析. 在本教程中,我们将使用MySql作为连接到R语言的参考数据库. RMySQL包 R语言有一个名为"RMySQL"的内置包,它提供与MySql数据库之间的本地连接. 您可以使

  • python数据库开发之MongoDB安装及Python3操作MongoDB数据库详细方法与实例

    MongoDB简介 MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统. 在高负载的情况下,添加更多的节点,可以保证服务器性能. MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案. MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成.MongoDB 文档类似于 JSON 对象.字段值可以包含其他文档,数组及文档数组. MongoDB应用场景 大而复杂的数据 移动和社会基础设施数据 内容管理和交付 用户数据 管理数据中心

  • 详解MongoDB的角色管理

    NO.1 MongoDB内建角色 内建角色的种类和特点? 想要了解内建角色,还是少不了下面这张图,在MongoDB中,用户的权限是通过角色绑定的方法来分配的.把某个角色绑定在某个用户上,那么这个用户就有这个角色对应的权限了. MongoDB 4.0中的内建角色类型如下: 这里对上面的内建角色所拥有的权限做以说明: 数据库用户角色: read:用于读取所有非系统集合,以及下面三个系统集合: system.indexes.system.js以及system.namesp readWrite:拥有re

  • 详解mongoDB主从复制搭建详细过程

    详解mongoDB主从复制搭建详细过程 实验目的搭建mongoDB主从复制 主 192.168.0.4 从 192.168.0.7 mongodb的安装 1: 下载mongodb www.mongodb.org 下载最新的stable版 查看自己服务器 适合哪个种方式下载(wget 不可以的 可以用下面方式下载) wget https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.0.5.tgz curl -O -L https

  • DJango的创建和使用详解(默认数据库sqlite3)

    1.安装虚拟环境 虚拟环境是真实python环境的复制版本. 安装虚拟环境的命令: 1)sudo pip install virtualenv #安装虚拟环境 2)sudo pip install virtualenvwrapper #安装虚拟环境扩展包 3)编辑家目录下面的.bashrc文件,添加下面两行. export WORKON_HOME=$HOME/.virtualenvs source /usr/local/bin/virtualenvwrapper.sh 4)使用source .b

随机推荐