Commit graph

385 commits

Author SHA1 Message Date
Michael Klishin
06be43a8c1 ditto 2014-02-08 19:00:47 +04:00
Michael Klishin
409b13a9fb ditto 2014-02-08 19:00:43 +04:00
Michael Klishin
04d92f35cd ditto 2014-02-08 19:00:40 +04:00
Michael Klishin
7d41ffc47c (c) header 2014-02-08 19:00:38 +04:00
Greg V
47efed8260 Add non-bang version of connect-via-uri 2014-01-30 18:58:36 +03:00
Sean Corfield
6db4eab95c Merge branch 'master' of github.com:seancorfield/monger 2014-01-15 18:41:08 -08:00
Sean Corfield
daace7283c monger.cursor uses monger.core but did not require it first. 2014-01-15 18:41:02 -08:00
Sean Corfield
cb47b7541e Use local binding instead of dynamic global for collection. Fixes #68 2014-01-11 15:57:27 -08:00
Matti Jagula
c81026e308 Added support for $first and $last aggregation operators. 2013-12-04 21:43:40 +02:00
Michael Klishin
938c440764 Don't use :use 2013-11-30 23:45:29 +04:00
Michael Klishin
ea5e1a3b9c Don't use :use 2013-11-30 23:45:02 +04:00
Michael Klishin
d380321e2e Cosmetics 2013-11-30 23:44:40 +04:00
Michael Klishin
8837fb46b9 Cosmetics 2013-11-30 23:44:21 +04:00
Michael Klishin
e540d453a0 Don't use :use 2013-11-30 23:43:50 +04:00
Michael Klishin
12c33ac975 Cosmetics 2013-11-30 23:43:23 +04:00
Michael Klishin
3d89d02e9d Docstring 2013-11-30 23:43:02 +04:00
Michael Klishin
496435c350 Don't use :use 2013-11-30 23:42:42 +04:00
Michael Klishin
b8d5b27054 Cosmetics 2013-11-30 23:42:25 +04:00
Michael Klishin
5c82651bde Docstring 2013-11-30 23:41:55 +04:00
Michael Klishin
cbf198c8bd Cosmetics 2013-11-30 23:41:32 +04:00
Michael Klishin
5d67b374fc Don't use :use 2013-11-30 23:41:12 +04:00
Michael Klishin
61a76bfd1c Don't use :use 2013-11-30 23:40:17 +04:00
Michael Klishin
c23e019ccd Cosmetics 2013-11-30 23:39:48 +04:00
Michael Klishin
30da676626 Docstring 2013-11-30 23:39:25 +04:00
Michael Klishin
109aef0645 Ditto 2013-11-30 23:38:46 +04:00
Michael Klishin
41375af05f Don't use :use 2013-11-30 23:38:22 +04:00
Michael Klishin
19ab7eb8a7 Cosmetics 2013-11-30 23:37:50 +04:00
Michael Klishin
118a6aa872 Cosmetics 2013-11-30 23:37:26 +04:00
Michael Klishin
6ba204a602 Ditto 2013-11-30 20:16:18 +04:00
Michael Klishin
02121379e7 Don't use :use 2013-11-30 20:16:04 +04:00
Michael Klishin
daa8361c91 Cosmetics 2013-11-30 20:15:41 +04:00
Michael Klishin
56bcf8c209 Copy year 2013-11-30 20:15:17 +04:00
Michael Klishin
a2beed97e7 Cosmetics 2013-11-30 20:15:04 +04:00
Michael Klishin
3d120456ff Merge pull request #62 from timgluz/query_options
Enhancements for tweaking options of dbCursor
2013-09-21 13:04:48 -07:00
Timo Sulg
7e7f3aba4c cleanups; updated query/option; 2013-09-21 19:17:58 +02:00
Timo Sulg
2dca992496 added cursor namespaces, cleanups;
refactored helpers for DBCursor into own namespace;
cleaned up previous hacks;
added extra classes for add-options;
added tests for cursor namespace;
2013-09-21 15:46:01 +02:00
Timo Sulg
58b5b1ddac updated docs; additional buffertime for timeout. 2013-09-15 20:30:01 +02:00
Timo Sulg
7570e4ce6d Added cursor-helpers and new find method; 2013-09-15 16:53:41 +02:00
Timo Sulg
679fd2bf92 Added support for LocalDate - required for serializing (clj-time/today). 2013-09-10 17:54:37 +02:00
Michael Klishin
78c9336ad7 Merge branch 'master' of github.com:michaelklishin/monger
# Please enter a commit message to explain why this merge is necessary,
# especially if it merges an updated upstream into a topic branch.
#
# Lines starting with '#' will be ignored, and an empty message aborts
# the commit.
2013-07-06 04:38:56 +04:00
Michael Klishin
f37db1fa84 Correct type hints 2013-07-06 04:38:05 +04:00
Fernando Dobladez
0179bbc046 Fix: must return ids in creation order 2013-07-05 16:21:35 -03:00
Erik Bakstad
a6606deb05 Made it possbile to pass explisit db to session-store 2013-06-24 00:17:48 +02:00
Erik Bakstad
0d635721a1 Added missing fns to multi/collection. Related to #53. 2013-06-20 13:25:27 +02:00
Tommi Reiman
4137f4a6f9 $setOnInsert 2013-06-20 00:01:28 +03:00
Michael Klishin
3bc3ee6d6a Add $millisecond to monger.operators 2013-05-27 05:21:25 +04:00
Michael Klishin
af19e62479 Add $slice to the list of known operators 2013-05-14 15:00:53 +04:00
Michael Klishin
4ac8f8330a Initial work on monger.multi.collection 2013-04-19 00:43:27 +04:00
Michael Klishin
a39c13a574 Make monger.collection/upsert actually upsert
Headdesk
2013-04-17 02:01:22 +04:00
Michael Klishin
bdf0082372 Merge branch 'master' of github.com:michaelklishin/monger 2013-04-15 21:24:13 +04:00
Michael Klishin
c0a83e7241 Add monger.collection/upsert 2013-04-15 21:24:08 +04:00
Andy Fingerhut
0bd3ef12ab Eliminate some reflection via adding type hints, and correcting one 2013-04-13 16:18:22 -07:00
Michael Klishin
bffb58cc1f Introduce additional cache implementation that can use any database 2013-04-14 01:53:56 +04:00
Michael Klishin
496325a417 Use clojure.core/array-map with ensure-index in all examples
To preserve ordering which is important.

References #50
2013-04-04 23:44:58 +04:00
Michael Klishin
848bbd07d3 Full text search support via monger.search 2013-03-20 03:50:27 +04:00
Michael Klishin
2a34be05ad Add a few new MongoDB 2.4-specific operators to monger.operators 2013-03-20 01:30:11 +04:00
Michael Klishin
3a2afd0cec Make monger.core/mongo-options fully up-to-date with the Java driver 2.10.1 2013-03-18 19:32:03 +04:00
Michael Klishin
2012fed7c4 Finally get rid of the factory DSL
We did learn some things from it but it just did not
work very well. A better solution is coming in the future.
2013-03-17 20:57:40 +04:00
Michael Klishin
62013fd070 Introduce 2-arity monger.core/authenticate that authenticates on the default DB 2013-02-28 16:45:34 +04:00
Tom McNulty
80a4625d89 Close Cursor in queries 2013-01-10 21:01:09 -07:00
Tom McNulty
a121598651 Close DBCursors in find-maps/find-seq 2013-01-10 20:32:48 -07:00
Robert Pitts
4bbb26b8dc A few spelling corrections in monger/collection
s/wether/whether/g
2012-12-10 18:16:02 -05:00
huangz1990
f8a3fe1982 Remove duplicated create function in monger.collection 2012-12-01 19:39:04 +08:00
Michael Klishin
d3114be395 Upgrade to MongoDB Java driver 2.10
A note on a few test we removed: they are not essential, the implementation still
works fine but MongoDB Java driver is so broken in some areas that it is really
painful to work around all that stuff.

For example, authentication commands fail because the request cannot be
authenticated (!!!). In general, all removed tests involve or related to
authentication failures or edge cases where the database is switched between
tests.

Because authentication with valid credentials works perfectly fine,
it is hard to justify spending another 2 hours working around
issues in the driver that had way too many poor design decisions
from very early days.
2012-11-27 23:25:24 +04:00
Michael Klishin
20faaf2fe0 Eliminate some reflection warnings 2012-11-24 21:11:07 +04:00
Michael Klishin
7a87332537 Changes for Cheshire 5.0 2012-11-21 12:00:18 +04:00
Michael S. Klishin
c5e2c78ed0 The same fix for data.json compatibility we had in clojurewerkz.support.json 2012-11-09 02:19:48 +04:00
Michael S. Klishin
2818ac6c26 Introduce monger.core/disconnect!
Closes #42
2012-10-24 07:57:09 +04:00
Michael S. Klishin
1a351cff88 Use and recommend sorted maps for commands 2012-09-19 16:34:24 +04:00
Michael S. Klishin
33b8f54460 Cheshire support for monger.json and monger.joda-time 2012-09-07 00:48:18 +04:00
Michael S. Klishin
23a55420df Work arounds for CLJ-1062 2012-09-06 05:54:28 +04:00
Michael S. Klishin
430ca21d7c Only extend clojure.data.json if it is available 2012-08-23 09:27:12 +04:00
Michael S. Klishin
1a878b4c80 Make it clear that monger.joda-time also provides Clojure reader extensions 2012-08-23 09:05:36 +04:00
Michael S. Klishin
bc825e4343 Clarify monger.joda-time's purpose and requirements via docstring 2012-08-23 09:04:45 +04:00
Michael S. Klishin
ef2a92f980 Trying to resolve Raynes' woes with RefHeap 2012-08-12 05:31:14 +04:00
Baishampayan Ghose
d58434e2ea Remove certain reflection warnings in monger.joda-time. 2012-07-25 13:14:45 +05:30
Michael S. Klishin
9452862f0c Support bitmask DBCursor options, fixes #35 2012-07-11 23:12:23 +04:00
Michael S. Klishin
2a1e52fc1e Make sure monger.collection/insert-and-return respects existing document id, just like save-and-return does 2012-07-11 22:26:13 +04:00
Michael S. Klishin
c1b86756c8 Introduce monger.collection/save-and-return that mimics /insert-and-return but for /save 2012-07-03 17:07:13 +04:00
Michael S. Klishin
21d7481f42 Don't shadow clojure.core/name with a local, stupid
Caught by the CI
2012-07-01 11:36:11 +04:00
Michael S. Klishin
a7b7925495 Support keywords as collection names 2012-07-01 11:09:23 +04:00
Michael S. Klishin
080ef6b896 Introduce monger.collection/insert-and-return
Per discussion in Raynes/refheap#89
2012-06-30 23:49:56 +04:00
Michael S. Klishin
8f8b4387b6 Doc strings for namespaces 2012-06-29 11:49:22 +04:00
Michael S. Klishin
2778710cc1 Document options monger.collection/ensure-index takes 2012-06-29 10:57:17 +04:00
Michael S. Klishin
e4507f42eb Doc string correction 2012-06-28 15:05:12 +04:00
Michael S. Klishin
f194dc9cae Reader extensions for Joda Time types 2012-06-27 20:30:35 +04:00
Michael S. Klishin
1b69e0644b Extend Clojure reader for ObjectId and java.util.Date 2012-06-27 19:51:10 +04:00
Michael S. Klishin
ff77d3ccd7 3rd correction 2012-06-27 19:08:55 +04:00
Michael S. Klishin
2fcdfab8ba Can't use print-dup on dates on 1.3 :( 2012-06-27 19:08:15 +04:00
Michael S. Klishin
43349f65ae Add an alternative Ring session store that uses Clojure reader serialization
This way libraries like Friend, that use namespaced keywords (::identity) and other
Clojure-specific data structures will work well with Monger.

Current store will strip off namespace information from namespaced keywords
because clojure.core/name work that way. For example: (name ::identity).

Reported by Julio Barros.
2012-06-27 19:02:11 +04:00
Michael S. Klishin
dc7a8fd6ec Extend DBObject conversion protocol for more JodaTime types 2012-06-26 13:23:16 +04:00
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