博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MongoDB API - 简单的示例小程序
阅读量:6611 次
发布时间:2019-06-24

本文共 2463 字,大约阅读时间需要 8 分钟。

hot3.png

阅读群体:对MOngoDB 尚且不够熟悉的初学者。

Plus: 由于本ID是第一次使用MongoDB,如出现理解的偏差,还请指出。

1 些概念:

   一个MongoDB服务可以建立多个数据库,每一个数据库可以有多张表,通常而言,我们的数据库的表的名字叫

Collection,每一个Collection可以存放多个Document,每一个文档都以BSON(binary)的形式存放在硬盘之中,

因此可以存放比较复杂的形式存放在硬盘之中,因此可以存放比较复杂的对象,它是以文档的形式进行存储的。你可以给

任何的一个文档或者一批文档新增或则删除字段,而不会对其他的文档造成影响。这就是Schema-free, 和一般的Key -

value 数据库如下,这也是文档型数据库的主要优点,

跟一般的key-value数据库不一样的是,它的value中存储了结构信息,所以你又可以像关系型数据库那样对某些域进行读写、统计等操作。Mongo最大的特点是他支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。Mongo还可以解决海量数据的查询效率,根据官方文档,当数据量达到50GB以上数据时,Mongo数据库访问速度是MySQL10 倍以上。

BSON 是binay json的缩写,BSON 有以下的三个特点:

1  轻量

2 夸平台

3 高效

命名空间: MongoDB 村粗BSON对象到COllections,这一系列的数据库名,和Colelctions被

成为一个命名空间。

一个小程序:

package test;import java.net.UnknownHostException;import java.util.ArrayList;import java.util.List;import org.slf4j.Logger;import org.slf4j.LoggerFactory;import com.esotericsoftware.minlog.Log;import com.mixbox.mongodb.impl.MongoDBUtil;import com.mongodb.BasicDBObject;import com.mongodb.DB;import com.mongodb.DBCollection;import com.mongodb.Mongo;import com.mongodb.ServerAddress;public class testIpChecker {	public static final Logger LOG = LoggerFactory.getLogger(MongoDBUtil.class);	// mongodb地址	static ServerAddress address = null;	// 集群地址集	static List
 list = new ArrayList
(); // mongo对象 static Mongo m = null; // 数据库对象 static DB db = null; static { try { address = new ServerAddress("192.168.50.25", 30000); } catch (UnknownHostException e) { // TODO Auto-generated catch block e.printStackTrace(); } list.add(address); m = new Mongo(list); db = m.getDB("shoptest"); } public static void main(String[] args) throws Exception { MongoDBUtil mongoutil = new MongoDBUtil(); int needInc = mongoutil.checkHasIp("192.168.50.165"); // for (int i = 0; i < 100; i++) { // insertIntoMongo("192.168.50.165"); // // } isNeed(needInc); } public static void p(Object o) { System.err.println(o.toString()); } public static void isNeed(int needInc) { if (needInc == 1) { p("需要增加,库里面没有"); } else { p("不需要,库里有了"); } } public static void insertIntoMongo(String dimensionip) { DBCollection collection = db.getCollection("dimensionipbase"); // 获取表的句柄 // 封装查询条件 BasicDBObject basicDBObject = null; BasicDBObject newdbobject = new BasicDBObject(); newdbobject.put("dimensionip", dimensionip); collection.insert(newdbobject); }}

   BasicDBobject  事实也对应着 Document对象。 利用BasicDBObject去管理。

转载于:https://my.oschina.net/infiniteSpace/blog/309437

你可能感兴趣的文章
javascript基础——dom的学习
查看>>
利用spring-session实现session共享
查看>>
列举锁定十个发展方向
查看>>
QQ空间技术架构之深刻揭密
查看>>
shell 文件排序合并和分割
查看>>
Spring+ Spring cloud + SSO单点登录应用认证
查看>>
美国消费者协会称:83%路由器固件存在漏洞
查看>>
“多才多艺”的安卓***Rotexy已在3个月里发动7万多次***
查看>>
学习三十九
查看>>
【许晓笛】EOS 超级节点的五个使命
查看>>
Linux 的 rsync 远程同步工具
查看>>
2018-7-3
查看>>
centos7安装小结
查看>>
更换UPS蓄电池
查看>>
Bootstrap的一些笔记——modal
查看>>
Python二十九个常见的脚本汇总!
查看>>
AJPFX简述abstract class和interface的区别
查看>>
利用剪切板JS API优化输入框的粘贴体验
查看>>
黑马程序员——内部类
查看>>
AS3 类库资源
查看>>