- 浏览: 755642 次
- 性别:
- 来自: 杭州
文章分类
最新评论
-
lgh1992314:
a offset: 26b offset: 24c offse ...
java jvm字节占用空间分析 -
ls0609:
语音实现在线听书http://blog.csdn.net/ls ...
Android 语音输入API使用 -
wangli61289:
http://viralpatel-net-tutorials ...
Android 语音输入API使用 -
zxjlwt:
学习了素人派http://surenpi.com
velocity宏加载顺序 -
tt5753:
谢啦........
Lucene的IndexWriter初始化时的LockObtainFailedException的解决方法
安装mongodb
$ # replace "1.6.4" in the url below with the version you want
$ curl http://downloads.mongodb.org/linux/mongodb-linux-x86_64-1.6.4.tgz > mongo.tgz
$ tar xzf mongo.tgz
$ cd mongo
$./mongod #启动服务器
$./mongo #启动客户端
1.mongodb 命令列表
Mongo查询语法与SQL语法对照表
MySQL executable |
Oracle executable |
Mongo executable |
mysqld |
oracle |
mongod |
mysql |
sqlplus |
mongo |
mongodb查询语法与SQL语法对比
SQL Statement |
Mongo Query Language Statement |
C++客户端调用语法 using namespace bson; DBClientConnection c; c.connect("somehost"); |
CREATE TABLE USERS (a Number, b Number) |
db.createCollection("mycoll")
|
|
INSERT INTO USERS VALUES(1,1) |
db.users.insert({a:1,b:1}) |
// GENOID is optional. if not done by client, server will add an _id c.insert("mydb.users", BSON(GENOID<<"a"<<1<<"b"<<1)); // then optionally: string err = c.getLastError(); |
SELECT a,b FROM users |
db.users.find({}, {a:1,b:1}) |
auto_ptr<DBClientCursor> cursor = c.query("mydb.users", Query(), 0, 0, BSON("a"<<1<<"b"<<1)); |
SELECT * FROM users |
db.users.find() |
auto_ptr<DBClientCursor> cursor = c.query("mydb.users", Query()); |
SELECT * FROM users WHERE age=33 |
db.users.find({age:33}) |
auto_ptr<DBClientCursor> cursor = c.query("mydb.users", QUERY("age"<<33)) // or: auto_ptr<DBClientCursor> cursor = c.query("mydb.users", BSON("age"<<33)) |
SELECT a,b FROM users WHERE age=33 |
db.users.find({age:33}, {a:1,b:1}) |
|
SELECT * FROM users WHERE age=33 ORDER BY name |
db.users.find({age:33}).sort({name:1})
|
auto_ptr<DBClientCursor> cursor = c.query("mydb.users", QUERY("age"<<33).sort("name")); |
SELECT * FROM users WHERE age>33 |
db.users.find({'age':{$gt:33}})}) |
|
SELECT * FROM users WHERE age<33 |
db.users.find({'age':{$lt:33}})}) |
|
SELECT * FROM users WHERE name LIKE "%Joe%" |
db.users.find({name:/Joe/}) |
|
SELECT * FROM users WHERE name LIKE "Joe%" |
db.users.find({name:/^Joe/}) |
|
SELECT * FROM users WHERE age>33 AND age<=40 |
db.users.find({'age':{$gt:33,$lte:40}})}) |
auto_ptr<DBClientCursor> cursor = c.query("mydb.users", QUERY("age"<<GT<<33<<LTE<<40));
|
SELECT * FROM users ORDER BY name DESC
|
db.users.find().sort({name:-1})
|
|
SELECT * FROM users WHERE a=1 and b='q' |
db.users.find({a:1,b:'q'}) |
|
SELECT * FROM users LIMIT 10 SKIP 20 |
db.users.find().limit(10).skip(20) |
auto_ptr<DBClientCursor> cursor = c.query("mydb.users", Query(), 10, 20); |
SELECT * FROM users WHERE a=1 or b=2
|
db.users.find( { $or : [ { a : 1 } , { b : 2 } ] } ) |
|
SELECT * FROM users LIMIT 1 |
db.users.findOne() |
bo obj = c.findOne("mydb.users", Query()); |
SELECT DISTINCT last_name FROM users |
db.users.distinct('last_name') |
// no helper for distinct in c++ driver, so send command manually bo cmdResult; bool ok = c.runCommand("mydb", BSON("distinct"<<"users"<<key<<"last_name"), cmdResult); list<bo> results; cmdResult["values"].Obj().Vals(results); |
SELECT COUNT(*y) FROM users |
db.users.count() |
|
SELECT COUNT(*y) FROM users where AGE > 30 |
db.users.find({age: {'$gt': 30}}).count() |
unsigned long long n = c.count("mydb.users", QUERY("age:"<<GT<<30)); |
SELECT COUNT(AGE) from users |
db.users.find({age: {'$exists': true}}).count() |
|
CREATE INDEX myindexname ON users(name) |
db.users.ensureIndex({name:1})
|
c.ensureIndex("mydb.users", BSON("name"<<1)); |
CREATE INDEX myindexname ON users(name,ts DESC) |
db.users.ensureIndex({name:1,ts:-1})
|
|
EXPLAIN SELECT * FROM users WHERE z=3 |
db.users.find({z:3}).explain() |
|
UPDATE users SET a=1 WHERE b='q' |
db.users.update({b:'q'}, {$set:{a:1}}, false, true) |
|
UPDATE users SET a=a+2 WHERE b='q' |
db.users.update({b:'q'}, {$inc:{a:2}}, false, true) |
c.update("mydb.users", QUERY("b"<<"q"), BSON("$inc"<<BSON("a"<<2)), false, true); // then optionally: string err = c.getLastError(); bool ok = err.empty(); |
DELETE FROM users WHERE z="abc" |
db.users.remove({z:'abc'}); |
c.remove("mydb.users", QUERY("z"<<"abc")); // then optionally: string err = c.getLastError();
|
|
|
|
命令帮助列表:
使用mongo进入交互式客户端:
> help
db.help() help on db methods
db.mycoll.help() help on collection methods
rs.help() help on replica set methods
help admin administrative help
help connect connecting to a db help
help keys key shortcuts
help misc misc things to know
help mr mapreduce
show dbs show database names
show collections show collections in current database
show users show users in current database
show profile show most recent system.profile entries with time >= 1ms
use <db_name> set current database
db.foo.find() list objects in collection foo
db.foo.find( { a : 1 } ) list objects in foo where a == 1
it result of the last line evaluated; use to further iterate
DBQuery.shellBatchSize = x set default number of items to display on shell
exit quit the mongo shell
> db.help()
DB methods:
db.addUser(username, password[, readOnly=false])
db.auth(username, password)
db.cloneDatabase(fromhost)
db.commandHelp(name) returns the help for the command
db.copyDatabase(fromdb, todb, fromhost)
db.createCollection(name, { size : ..., capped : ..., max : ... } )
db.currentOp() displays the current operation in the db
db.dropDatabase()
db.eval(func, args) run code server-side
db.getCollection(cname) same as db['cname'] or db.cname
db.getCollectionNames()
db.getLastError() - just returns the err msg string
db.getLastErrorObj() - return full status object
db.getMongo() get the server connection object
db.getMongo().setSlaveOk() allow this connection to read from the nonmaster member of a replica pair
db.getName()
db.getPrevError()
db.getProfilingLevel() - deprecated
db.getProfilingStatus() - returns if profiling is on and slow threshold
db.getReplicationInfo()
db.getSiblingDB(name) get the db at the same server as this one
db.isMaster() check replica primary status
db.killOp(opid) kills the current operation in the db
db.listCommands() lists all the db commands
db.printCollectionStats()
db.printReplicationInfo()
db.printSlaveReplicationInfo()
db.printShardingStatus()
db.removeUser(username)
db.repairDatabase()
db.resetError()
db.runCommand(cmdObj) run a database command. if cmdObj is a string, turns it into { cmdObj : 1 }
db.serverStatus()
db.setProfilingLevel(level,<slowms>) 0=off 1=slow 2=all
db.shutdownServer()
db.stats()
db.version() current version of the server
db.getMongo().setSlaveOk() allow queries on a replication slave server
db.fsyncLock() flush data to disk and lock server for backups
db.fsyncUnock() unlocks server following a db.fsyncLock()
> db.mycoll.help()
DBCollection help
db.mycoll.find().help() - show DBCursor help
db.mycoll.count()
db.mycoll.dataSize()
db.mycoll.distinct( key ) - eg. db.mycoll.distinct( 'x' )
db.mycoll.drop() drop the collection
db.mycoll.dropIndex(name)
db.mycoll.dropIndexes()
db.mycoll.ensureIndex(keypattern[,options]) - options is an object with these possible fields: name, unique, dropDups
db.mycoll.reIndex()
db.mycoll.find([query],[fields]) - query is an optional query filter. fields is optional set of fields to return.
e.g. db.mycoll.find( {x:77} , {name:1, x:1} )
db.mycoll.find(...).count()
db.mycoll.find(...).limit(n)
db.mycoll.find(...).skip(n)
db.mycoll.find(...).sort(...)
db.mycoll.findOne([query])
db.mycoll.findAndModify( { update : ... , remove : bool [, query: {}, sort: {}, 'new': false] } )
db.mycoll.getDB() get DB object associated with collection
db.mycoll.getIndexes()
db.mycoll.group( { key : ..., initial: ..., reduce : ...[, cond: ...] } )
db.mycoll.mapReduce( mapFunction , reduceFunction , <optional params> )
db.mycoll.remove(query)
db.mycoll.renameCollection( newName , <dropTarget> ) renames the collection.
db.mycoll.runCommand( name , <options> ) runs a db command with the given name where the first param is the collection name
db.mycoll.save(obj)
db.mycoll.stats()
db.mycoll.storageSize() - includes free space allocated to this collection
db.mycoll.totalIndexSize() - size in bytes of all the indexes
db.mycoll.totalSize() - storage allocated for all data and indexes
db.mycoll.update(query, object[, upsert_bool, multi_bool])
db.mycoll.validate( <full> ) - SLOW
db.mycoll.getShardVersion() - only for use with sharding
> db.users.find() #users是collection的名称
{ "_id" : ObjectId("4de71d5faf575684b391b8db"), "a" : 1, "b" : 1 }
> show dbs
admin (empty)
local (empty)
test 0.203125GB
> show collections
mycoll
system.indexes
testCollection
users
>
java端调用
1到https://github.com/mongodb/mongo-java-driver/downloads 下载java客户端需要的jar,引入工程里面,
2.
package com.alibaba.asc.demoLearnCenter.mongo;
import java.net.UnknownHostException; import java.util.Set; import com.mongodb.BasicDBObject; import com.mongodb.DB; import com.mongodb.DBCollection; import com.mongodb.DBCursor; import com.mongodb.Mongo; import com.mongodb.MongoException; public class MongoDemo1 { public static void main(String[] args) throws UnknownHostException, MongoException { Mongo m = new Mongo("10.20.150.205", 27017); DB db = m.getDB("test"); Set<String> colls = db.getCollectionNames(); for (String s : colls) { System.out.println(s); } DBCollection coll = db.getCollection("testCol"); BasicDBObject doc = new BasicDBObject(); doc.put("name", "MongoDB"); doc.put("type", "database"); doc.put("count", 1); BasicDBObject info = new BasicDBObject(); info.put("x", 203); info.put("y", 102); doc.put("info", info); coll.insert(doc); System.out.println(coll.getCount()); DBCursor cur = coll.find(); while(cur.hasNext()) { System.out.println(cur.next()); } BasicDBObject query = new BasicDBObject(); query.put("type", "database"); cur = coll.find(query); while(cur.hasNext()) { System.out.println(cur.next()); } } }
输出:
mycoll
system.indexes
testCollection
users
1
{ "_id" : { "$oid" : "4de72c04a1f3a9ef7fc0c750"} , "name" : "MongoDB" , "type" : "database" , "count" : 1 , "info" : { "x" : 203 , "y" : 102}}
{ "_id" : { "$oid" : "4de72c04a1f3a9ef7fc0c750"} , "name" : "MongoDB" , "type" : "database" , "count" : 1 , "info" : { "x" : 203 , "y" : 102}}
发表评论
-
使用telnet连接到基于spring的应用上执行容器中的bean的任意方法
2013-08-08 09:17 1482使用telnet连接到基于spring的应用上执行容器中 ... -
Lucene的IndexWriter初始化时的LockObtainFailedException的解决方法
2013-06-28 21:35 11808原文链接: http://www.javaarch.net ... -
Spring Security Logout
2013-06-03 00:05 2372原文地址:http://www.javaarch.net/ ... -
Spring Security Basic Authentication
2013-06-03 00:04 1742原文地址:http://www.javaarch.net/ ... -
Spring Security Form Login
2013-06-02 16:16 2149原文地址:http://www.javaarch.net/j ... -
spring3 的restful API RequestMapping介绍
2013-06-02 14:53 1155原文链接:http://www.javaarch.net/j ... -
spring使用PropertyPlaceholderConfigurer扩展来满足不同环境的参数配置
2013-05-21 15:57 3344spring使用PropertyPlaceholderCon ... -
spring3学习入门示例工程
2013-04-18 09:28 11331. github地址 https://github ... -
spring map使用annotation泛型注入问题分析
2013-04-15 13:30 8547今天在整一个spring的ioc学习demo,碰到 ... -
利用spring AOP和Annotation来简化DAO实现
2013-01-06 23:31 2316通常在数据库DAO层的查询中,我们会定义一个DAO接口,而在实 ... -
spring rmi学习示例
2012-09-21 17:42 1369spring rmi实际上是扩展了下java rmi的实 ... -
一种简单的本地cache的实现
2012-08-25 17:24 2144我们经常在web应用中需要对某些数据进行本地cache,特别是 ... -
j2ee页面静态化方案encache web cache框架源码分析2
2012-05-30 18:19 2787encache的web cache代码分析 1.抽象f ... -
j2ee页面静态化方案encache web cache框架详解1
2012-05-30 16:37 2068web caching 1.介绍 Ehcache W ... -
java 的svn客户端调用示例
2012-05-25 21:50 39221.pom依赖 < ... -
java 的svn客户端调用示例
2012-05-25 21:48 9241.pom依赖 <dependency> ... -
Spring Data MongoDB hello world 示例
2012-05-24 17:36 1780下面讲解如何使用spring-data-mongdb来对 ... -
spring-data spring 的nosql的orm框架设计学习
2012-05-24 17:05 55861.spring-data-redis如何连接到redis服 ... -
spring-data spring 的nosql的orm框架学习
2012-05-24 15:34 4680使用了spring-data-redis对于redis的orm ... -
log4j MDC NDC应用场景
2012-05-22 22:17 2313NDC(Nested Diagnostic Context)和 ...
相关推荐
MongoDB学习总结入门篇.pdf MongoDB是一个基于分布式文件存储的数据库,旨在为WEB应用提供可扩展的高性能数据存储解决方案。下面将对MongoDB的基本概念、特点、使用原理和基本操作进行详细介绍。 1. MongoDB基本...
1. **@Document** 注解:在Java实体类上使用`@Document`注解表示该类将映射到MongoDB的一个集合。例如,`Person`类通过`@Document(collection="person")`声明对应于名为"person"的集合。 2. **MongoTemplate**:`...
MongoDB 使用BSON(Binary JSON)格式存储数据,这是一种类似JSON的二进制表示,支持更丰富的数据类型,如日期、整数、双精度浮点数和二进制数据。文档是MongoDB中的基本数据单元,类似于JSON对象。 2. 集合与...
1. MongoDB 的下载和安装 MongoDB 提供了多种操作系统的版本,包括 Windows、Linux、Mac 等。下载地址是 http://www.mongodb.org/downloads。用户可以根据自己的操作系统选择合适的版本。在这里,我们下载的是 ...
总结来说,MongoDB的基础操作涵盖了数据库的基本管理、数据的增删改查,而副本集和分片则是其在高可用性和可扩展性方面的核心特性。通过深入理解和熟练掌握这些知识,可以有效地利用MongoDB处理大规模的分布式数据...
1. **MongoDB的基本概念**:MongoDB以集合(Collections)的形式存储数据,集合相当于关系型数据库中的表。集合内包含文档(Documents),文档是JSON格式的数据结构,可以包含嵌套的键值对或数组。 2. **数据模型**...
本实验报告旨在详细介绍 MongoDB 的安装、配置和基本操作步骤,本报告基于 CentOS 7 系统,通过一步一步的截图和文字说明,帮助读者快速掌握 MongoDB 的使用。 一、安装 MongoDB 首先,我们需要配置 MongoDB 的 ...
总结来说,Spring Data MongoDB通过`MongoDBTemplate`简化了MongoDB的集成和操作,使得开发者能够专注于业务逻辑而不是底层数据库交互。对于初学者,这是一个很好的起点,可以快速上手MongoDB和Spring Data的使用。
### Windows 下 MongoDB 安装与使用详解 #### 一、MongoDB 简介 MongoDB 是一种基于分布式文件存储的开源数据库系统。它属于 NoSQL 数据库的一种,使用 BSON(Binary JSON)格式来存储数据,支持动态模式,使得开发...
1. 创建数据库:使用`use <database_name>`命令,如果数据库不存在,MongoDB会自动创建。 2. 插入数据:`db.<collection_name>.insertOne()`,例如`db.users.insertOne({name: "Alice", age: 25})`。 3. 查询数据:`...
总结,MongoDB 是一个功能强大的 NoSQL 数据库,其易于安装、管理用户权限和数据操作的特性使其成为许多企业的首选。通过理解并熟练掌握这些基础知识,可以有效地利用 MongoDB 构建高效、可扩展的应用程序。
总结来说,这个示例提供了使用Java、Spark、MongoDB、Spring和Maven实现数据操作的基础步骤。它涵盖了从设置环境、构建项目、连接数据库到执行CRUD操作的全过程,对于学习和实践中处理大数据与NoSQL数据库的集成非常...
MongoDB 是一种流行的NoSQL数据库系统,以C++语言编写并开源。NoSQL数据库与传统的关系型数据库(RDBMS)不同,它不依赖于固定的表格模式,这使得NoSQL...因此,选择是否使用MongoDB应根据具体业务需求和技术栈来决定。
4. **使用命令行工具**:可以使用以下命令来安装或卸载MongoDB服务,并指定配置文件: ```bash mongod.exe --config E:\ruanjian\MongoDB\mongod.cfg --remove mongod.exe --config E:\ruanjian\MongoDB\mongod....
通过阅读这份"MongoDB总结"文件,学习者将能够掌握MongoDB的基本概念、操作以及在实际项目中的应用,为进一步学习和使用MongoDB打下坚实基础。利用Markdown格式,内容易于阅读和理解,结合Typora等编辑器,学习体验...
总结来说,MongoDB是一个功能强大的文档型数据库,适用于各种现代应用场景。了解并掌握其安装、使用和基本语法是开发过程中不可或缺的技能。通过阅读和实践本手册,你将能够熟练地运用MongoDB进行数据存储和处理。
1. **连接MongoDB**:使用`MongoClient`和`MongoDatabase`,Morphia可以建立到MongoDB服务器的连接,并选择要操作的数据库。 2. **数据存取**:通过`Datastore`接口,我们可以执行CRUD(创建、读取、更新、删除)...
总结,MongoDB在京东的使用充分体现了其作为现代NoSQL数据库的优势,不仅能满足电商平台的高并发、大数据需求,还能提供灵活的数据模型和强大的数据分析能力,助力京东提升用户体验和服务质量。通过不断优化和创新,...
1. MongoDB核心概念: - 文档(Document):MongoDB中的数据以键值对的形式存储,这种形式被称为文档,类似于JSON对象。 - 集合(Collection):集合是文档的集合,类似于关系数据库中的表。 - 数据库(Database...