forked from mongodb/mongo-java-driver
-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathQuickTour.java
More file actions
121 lines (87 loc) · 3.53 KB
/
QuickTour.java
File metadata and controls
121 lines (87 loc) · 3.53 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
import com.mongodb.Mongo;
import com.mongodb.DBCollection;
import com.mongodb.BasicDBObject;
import com.mongodb.DBObject;
import com.mongodb.DBCursor;
import com.mongodb.DB;
import java.util.Set;
import java.util.List;
public class QuickTour {
public static void main(String[] args) throws Exception {
// connect to the local database server
Mongo m = new Mongo();
// get handle to "mydb"
DB db = m.getDB( "mydb" );
// Authenticate - optional
// boolean auth = db.authenticate("foo", "bar");
// get a list of the collections in this database and print them out
Set<String> colls = db.getCollectionNames();
for (String s : colls) {
System.out.println(s);
}
// get a collection object to work with
DBCollection coll = db.getCollection("testCollection");
// drop all the data in it
coll.drop();
// make a document and insert it
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);
// get it (since it's the only one in there since we dropped the rest earlier on)
DBObject myDoc = coll.findOne();
System.out.println(myDoc);
// now, lets add lots of little documents to the collection so we can explore queries and cursors
for (int i=0; i < 100; i++) {
coll.insert(new BasicDBObject().append("i", i));
}
System.out.println("total # of documents after inserting 100 small ones (should be 101) " + coll.getCount());
// lets get all the documents in the collection and print them out
DBCursor cur = coll.find();
while(cur.hasNext()) {
System.out.println(cur.next());
}
// now use a query to get 1 document out
BasicDBObject query = new BasicDBObject();
query.put("i", 71);
cur = coll.find(query);
while(cur.hasNext()) {
System.out.println(cur.next());
}
// now use a range query to get a larger subset
query = new BasicDBObject();
query.put("i", new BasicDBObject("$gt", 50)); // i.e. find all where i > 50
cur = coll.find(query);
while(cur.hasNext()) {
System.out.println(cur.next());
}
// range query with multiple contstraings
query = new BasicDBObject();
query.put("i", new BasicDBObject("$gt", 20).append("$lte", 30)); // i.e. 20 < i <= 30
cur = coll.find(query);
while(cur.hasNext()) {
System.out.println(cur.next());
}
// create an index on the "i" field
coll.createIndex(new BasicDBObject("i", 1)); // create index on "i", ascending
// list the indexes on the collection
List<DBObject> list = coll.getIndexInfo();
for (DBObject o : list) {
System.out.println(o);
}
// See if the last operation had an error
System.out.println("Last error : " + db.getLastError());
// see if any previous operation had an error
System.out.println("Previous error : " + db.getPreviousError());
// force an error
db.forceError();
// See if the last operation had an error
System.out.println("Last error : " + db.getLastError());
db.resetError();
}
}