MongoDB API - 简单的示例小程序

阅读群体:对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<ServerAddress> list = new ArrayList<ServerAddress>();
	// 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去管理。

时间: 2024-10-15 23:49:48

MongoDB API - 简单的示例小程序的相关文章

用聚合数据API快速写出小程序(苏州实时公交)

利用聚合数据API快速写出小程序,过程简单. 1.申请小程序账号 2.进入开发 3.调用API.比如"苏州实时公交"小程序,选择的是苏州实时公交API. 苏州实时公交API文档:https://www.juhe.cn/docs/api/id/31 如下,是"苏州实时公交"小程序调用代码:  var url = "https://apis.juhe.cn/szbusline/bus";    //为了您的密钥安全,建议使用服务端代码中转请求,事例代

简单的购物车小程序

1 # -*- coding:utf-8 -*- #简单的购物车小程序 author:李学松 2 shopping_cart =[] 3 product_list_tatol = "---product list----" 4 welcome = "-----------welcome to shopping marketi----------" 5 product_list = [ 6 ('iphone',5800), 7 ('lenovo',900), 8 ('

java学习的一些预备知识和一些简单的java小程序

1先了解一些基本的dos命令 dir     ·列出当前目录下的文件和文件夹 md      创建文件夹 rd        删除文件夹(文件下没有子文件) del "文件夹名"    可以删除带子文件的文件夹 cd..    使文件夹目录一层一层后退 cd\    回到根目录 haha>1.txt    创建文档,并将haha写入到1.txt文档中 del 1.txt    删除文件(不走回收站) del  *.txt    只删除txt文件 exit    退出命令行 set

在VR中模拟用鼠标操作电脑并实现简单画图的小程序

(图没有录好,明天换一下) 一.概述 1.实现的基本操作是: 1)用手柄抓住黄色的方块代表手抓住鼠标. 2)通过移动手柄模拟鼠标移动,电脑屏幕上的光标跟着移动. 3)当光标移动到一个Button上时,Button高亮,离开时Button取消高亮,点击Button触发点击事件. 4)当点击Button之后,打开一个画图程序,可以用光标在颜色选择区选择一种颜色,然后在画图区根据光标的移动轨迹,画出选择颜色的光标移动路径的曲线: 2.脚本 1)ComputerController挂在代表电脑的Canv

python实现简单的数学小程序

冒泡法排列list利用打标记来优化 避免重复循环杨辉三角形process=image/watermark,size_16,text_QDUxQ1RP5Y2a5a6i,color_FFFFFF,t_100,g_se,x_10,y_10,shadow_90,type_ZmFuZ3poZW5naGVpdGk=" alt="python实现简单的数学小程序" />建立二维列表,if判定打印出第一个与最后一个1,其余利用列表索引计算与上图类似将每一行列表尾部补0,利用负索引 直接

python网络编程基础--socket的简介,以及使用socket来搭建一个简单的udp小程序

socket介绍: socket(简称套接字),是进程间通讯的一个工具,他能实现把数据从一方传输到另一方,完成不同电脑上进程之间的通讯,它好比数据的搬运工.socket应用:不夸张来说,只要跟网络相关的应用程序或者软件都使用到了socket, 比如:微信,qq等使用socket创建udp网络程序的流程:1,创建客户端套接字2,发送/接收数据3,关闭套接字使用程序展现流程 :(使用的 ide为pycharm):1,首先创建socket,在 Python 中 使用socket 模块的函数 socke

2015.11.27初识java一集简单的java小程序

今天是来到汉企第二天,昨天主要学习了JAVA配置环境变量方法:1.打开我的电脑--属性--高级--环境变量 2.新建系统变量JAVA_HOME 和CLASSPATH 变量名:JAVA_HOME变量值:D:\Java\jdk1.7.0_60_x64(变量值必须为全英文路径,不能有中文) 变量名:CLASSPATH变量值:.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;(完全复制即可)3. 选择“系统变量”中变量名为“Path”的环境变量,双击该

Linux下简单C语言小程序的反汇编分析

韩洋原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 写在开始,本文为因为参加MOOC相关课程而写的作业,如有疏漏,还请指出. 选了一门Linux内核分析课程,因为阅读内核代码中或多或少要涉及到At&T汇编代码的阅读,所以这里写下一个对一个简单C命令行程序的反汇编分析过程,一方面完成作业,另一方面当作练手.下面开始: 1.编写我们的C语言小程序 这里我们使用简单的例子,代码如下: 1

简单抓取小程序大全,并展示

前言,想利用小程序导航页面来提升网站的流量,找到www.xcxdh666.com该小程序导航网站. 分析网页       1发现网站其实也是用异步分页请求加载数据的,所以根本用不着xpath解析html,直接分析其请求URL       2点击加载更多找到请求,发现其实就是pageNum,cagegory两个参数       3所以直接请求URL,带入参数,分析起返回json结果 编写代码         1首先建立接收类型             public class XcxApplet