Commit graph

244 commits

Author SHA1 Message Date
Michael S. Klishin
76efdc7e7b Add a clause for booleans per discussion on the mailing list 2012-06-23 19:16:42 +04:00
Michael S. Klishin
0a2fdc8cc3 Ragtime migrations adapter 2012-06-19 12:18:43 +04:00
Michael S. Klishin
d68b57511c More helpful exception message 2012-06-18 05:18:36 +04:00
Michael S. Klishin
92a262ff8a A typo 2012-06-14 19:55:02 +04:00
Michael S. Klishin
6f25f1bc45 Correct type hint 2012-06-14 19:33:36 +04:00
Michael S. Klishin
3a948667d5 Fight Java with Java
Make our own version of DBRef that is exactly like the original but has one extra constructor and
implements clojure.lang.IDeref so it is possible to @dereference such refs.

This is only one small step in a proper, Clojuric, easy to use DBRef support. We may tack more Monger-specific
extensions to our DBRef implementation later.

As sang by Jetallica:

Do unto others as they have done unto you
but what in the hell is this world coming to?

Blow the universe into nothingness
nuclear warfare shall lay us to rest

Fight Java with Java
ending is near
fight Java with Java
bursting with fear
2012-06-14 19:28:40 +04:00
Michael S. Klishin
c172737816 Document that monger.testkit is still experimental and will have breaking changes 2012-06-14 18:36:44 +04:00
Michael S. Klishin
b634951812 src/monger => src/clojure/monger 2012-06-14 18:33:42 +04:00
Michael S. Klishin
787d2d299d Don't seq the underlying cursor in the query DSL
map will work over the cursor itself because it is Iterable. This both avoids silly NPEs and
follows the common sense of finder functions: they must return an empty sequence when there
are no results, not nil.
2012-06-14 15:08:05 +04:00
Michael S. Klishin
4df673d127 Make it possible to pass fields to index as any collection (not just map) 2012-06-11 00:06:13 +04:00
Michael S. Klishin
52c5e15008 Cosmetics 2012-06-10 12:49:37 +04:00
Michael S. Klishin
bb5cfdc499 In Monger this fn is supposed to be public 2012-06-10 12:37:29 +04:00
Michael S. Klishin
75bb240af9 Add monger.collection/system-collection?, a convenience function
We don't add it to the change log because the majority of apps won't use it and
it is not an important change between RC1 and RC2 (or what may even be 1.0).
2012-06-10 12:35:52 +04:00
Michael S. Klishin
898349f95a A couple more convenience functions 2012-06-09 11:25:48 +04:00
Michael S. Klishin
12f48b058b Remove type hints that can be inferred by the compiler, part 3 2012-06-09 00:36:07 +04:00
Michael S. Klishin
5813f61649 Eliminate this reflection warning
Unfortunately, because Java driver's return type is so generic (Iterable),
we have to do it by type hinting what is really returned as the result set
(by inspecting the Java driver code paths).
2012-06-09 00:33:55 +04:00
Michael S. Klishin
e008e0d18d Remove type hints that can be inferred by the compiler, part 2 2012-06-09 00:26:23 +04:00
Michael S. Klishin
423b80774a Remove type hints that can be inferred by the compiler, part 1 2012-06-09 00:23:01 +04:00
Michael S. Klishin
91d967b592 Inlining, part 2 2012-06-09 00:20:55 +04:00
Michael S. Klishin
2a64afa6ff Inlining, part 1
We inline collection getter not so much as an optimization technique (HotSpot will inline all that anyway) but
mostly to remove let forms that do not make any difference to the (human) reader.
2012-06-09 00:14:19 +04:00
Michael S. Klishin
824a532590 Cosmetics 2012-06-09 00:12:26 +04:00
Michael S. Klishin
d12f33e1e8 Better authentication failure message 2012-06-08 22:14:59 +04:00
Michael S. Klishin
f07f577094 Cosmetics 2012-06-08 22:09:17 +04:00
Michael S. Klishin
d824e622c3 Derp 2012-06-08 22:07:16 +04:00
Michael S. Klishin
1184fce8c3 Add a few more commands that may be useful to JVM-based applications
Clojure is unlikely to be a good choice for devops tools, so we don't
implement convenience functions for sharding, replication, et cetera.
2012-06-08 22:04:46 +04:00
Michael S. Klishin
babd429f5b Implement monger.result/ok? for Clojure maps 2012-06-08 11:56:00 +04:00
Michael S. Klishin
6e43328941 New higher-level DSL for storing files on GridFS
References #27
2012-06-04 14:46:13 +04:00
Michael S. Klishin
a6544a1617 Make sure gridfs finders never go into infinite recursion
Protocol matching is hash-based, so we cannot guarantee that DBObject implementation will
always be picked before java.util.Map's.
2012-06-04 14:15:12 +04:00
Michael S. Klishin
e033aa995b More gridfs support improvements
References #27
2012-06-04 14:03:45 +04:00
Michael S. Klishin
d79e35790f Make sure namespaces that use monger.gridfs/make-input-file don't have to import GridFSInputFile 2012-06-04 13:24:58 +04:00
Michael S. Klishin
01773f50d5 Better coverage for storing files in gridfs, include file metadata
References #27
2012-06-04 13:11:31 +04:00
Michael S. Klishin
5964e01b1d Make :auto-connect-retry connection default to true
Another very unsafe default on the MongoDB Java driver side. Monger puts safety first, fancy
sky high benchmarks second.
2012-05-28 02:22:46 +04:00
Michael S. Klishin
63f7099350 MongoDB 2.1 Aggregation Framework support 2012-05-28 00:43:45 +04:00
Michael S. Klishin
dd9d1c3bfd The rest of 2.1/2.2 Aggregation framework operator macros 2012-05-25 23:49:57 +04:00
Michael S. Klishin
47cc9a0363 $limit and $skip operator macros 2012-05-25 23:44:44 +04:00
Michael S. Klishin
3360c2e96c $group operator macro 2012-05-25 23:26:11 +04:00
Michael S. Klishin
6a7ac2f1b3 $match, $project, $unwind operator macros 2012-05-25 23:24:30 +04:00
Michael S. Klishin
acdaffba99 Add $regex and $options operator macros 2012-05-25 14:39:35 +04:00
Michael S. Klishin
0db4bc6e11 Minor docstring improvements 2012-05-22 18:46:15 +04:00
Baishampayan Ghose
79fa31304a Use alter-var-root instead of def in set-write-concern!.
Using `def` there is unnecessary and redundant.
2012-05-15 17:31:04 +05:30
Baishampayan Ghose
75fd7f5c91 Add support for connecting to Replica Sets.
Monger can now connect to replica sets using one or more seeds when
calling monger.core/connect with a vector (or list) of server-addresses
instead of just a single one.

For example -

;; Connect to a single MongoDB instance
(connect (server-address "127.0.0.1" 27017) (mongo-options))

;; Connect to a replica set
(connect [(server-address "127.0.0.1" 27017)
          (server-address "127.0.0.1" 27018)]
         (mongo-options))

Since connect! just applies connect to all the args, it works fine there
as well.
2012-05-15 11:33:40 +05:30
Michael S. Klishin
87184af396 Initial Ring session store implementation 2012-05-14 16:10:55 +04:00
Baishampayan Ghose
43cddbcf57 Remove redundant invocation of to-db-object on top of as-field-selector.
`as-field-selector` already returns a DBObject, so there is no need to call `to-db-object` on top of the return value.
2012-05-12 11:00:33 +05:30
Michael S. Klishin
1d54e00a4d Change log update, copyright header update 2012-05-12 07:44:40 +04:00
Baishampayan Ghose
ccd3d7ab66 Add monger.collection/find-and-modify and associated tests. 2012-05-12 09:02:19 +05:30
Michael S. Klishin
8142d02f01 Deprecate monger.js (moved to clojurewerkz.support.js) 2012-05-03 01:06:41 +04:00
Michael S. Klishin
d04ab3af2d More cleanup 2012-05-01 16:35:33 +04:00
Michael S. Klishin
c36a0abe8c Use clojurewerkz.support 0.2.0 2012-04-26 21:14:48 +04:00
Michael S. Klishin
5341344e97 Remove type hints that are not guaranteed to be correct 100% of the time 2012-04-24 09:38:21 +04:00
Michael S. Klishin
444017fde2 Define several more operators 2012-04-23 15:01:13 +04:00