Erik Bakstad
54f204b1a5
Renamed test
2013-06-24 00:25:58 +02:00
Erik Bakstad
a6606deb05
Made it possbile to pass explisit db to session-store
2013-06-24 00:17:48 +02:00
Erik Bakstad
0a03ec1bf8
Added rest of tests. Fixes #53
2013-06-22 20:20:59 +02:00
Erik Bakstad
41c2aa7488
Added multi.collection-tests
2013-06-20 19:56:26 +02:00
Erik Bakstad
fd5e041099
Fixed test issues when running all tests
2013-06-20 19:41:02 +02:00
Erik Bakstad
6a9cb9f1a3
Don't run fin_test on ns load
2013-06-20 19:11:52 +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
4ac8f8330a
Initial work on monger.multi.collection
2013-04-19 00:43:27 +04:00
Michael Klishin
957623094b
Clear cache collections in the correct db
2013-04-17 02:26:42 +04:00
Michael Klishin
0a386750c3
Clear cache collections
2013-04-17 02:22:57 +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
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
9e99933c53
Make tests compile with the 2.11 Java driver
2013-03-20 04:08:24 +04:00
Michael Klishin
848bbd07d3
Full text search support via monger.search
2013-03-20 03:50:27 +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
3af05ef74c
Add a test for m.c/insert-batch with lazy sequence inputs
2013-03-17 19:55:19 +04:00
Michael Klishin
082a3ec7b7
Make this test pass in isolation repeatedly
2013-03-17 19:50:37 +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
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
64bf2eff7f
ws
2012-11-23 07:24:28 +04:00
Michael Klishin
28c29a7bae
Remove temporary test metadata
2012-11-23 07:24:25 +04:00
Michael Klishin
d8ff844bfa
Demonstrate correct ordering when sorting on multiple keys using ordered maps (array-map or sorted-map)
...
Closes #44
2012-11-23 07:23:36 +04:00
Michael Klishin
e4238710f3
Ditto for tests
2012-11-21 12:03:44 +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
76b3371420
Cosmetics
2012-09-14 11:46:48 +04:00
Michael S. Klishin
113ee02048
Don't use deprecated constant
2012-09-14 11:42:56 +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
0df0b706df
Upgrade to MongoDB Java driver 2.9.0-RC1
2012-08-16 02:13:44 +04:00
Michael S. Klishin
46ad8d1877
Cosmetics
2012-07-21 18:22:33 +04:00
Michael S. Klishin
f374bc53ba
Tests for TTL collections, improve aggregation framework tests
2012-07-14 03:24:10 +04:00
Michael S. Klishin
9452862f0c
Support bitmask DBCursor options, fixes #35
2012-07-11 23:12:23 +04:00
Michael S. Klishin
1b6cae729b
Exclude Ragtime integration tests from CI, they fail for unknown reason half of the time
2012-07-11 22:48:13 +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
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
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
dde4a59495
Correct the test now that we don't have :date in the serialized value
2012-06-27 19:10:20 +04:00
Michael S. Klishin
5e4d8d7c5a
Correct test ns name
2012-06-27 19:06:57 +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
c2a56cbf77
...and as part of converting an entire map
2012-06-23 19:36:14 +04:00
Michael S. Klishin
53854254e4
Cover conversion of booleans separately
2012-06-23 19:34:49 +04:00
Michael S. Klishin
f9fa17f572
Add a new test, more spring cleanup before 1.0.0
2012-06-23 19:11:54 +04:00
Michael S. Klishin
2fc81a8180
More robust test, does not depend on test run order and concurrently running tests
2012-06-19 12:21:28 +04:00
Michael S. Klishin
0a2fdc8cc3
Ragtime migrations adapter
2012-06-19 12:18:43 +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
ff2d095402
Cover insertion of DBRefs
...
Apparently, they are not deprecated and there is real interest in Monger supporting them
2012-06-14 18:32:07 +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
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
e481b1ca84
Add more assertions to the URI connection test
2012-06-10 11:25:40 +04:00
Michael S. Klishin
898349f95a
A couple more convenience functions
2012-06-09 11:25:48 +04:00
Michael S. Klishin
1c686c1766
Cosmetics
2012-06-08 22:03:43 +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
e033aa995b
More gridfs support improvements
...
References #27
2012-06-04 14:03:45 +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
ef083b383e
Cosmetics
2012-06-03 16:38:14 +04:00
Michael S. Klishin
63f7099350
MongoDB 2.1 Aggregation Framework support
2012-05-28 00:43:45 +04:00
Michael S. Klishin
acdaffba99
Add $regex and $options operator macros
2012-05-25 14:39:35 +04:00
Michael S. Klishin
ca67d9f4cb
One more test case
2012-05-22 18:54:53 +04:00
Michael S. Klishin
6e6f04e292
Use explicitly specified collection name in tests
2012-05-14 16:11:33 +04:00
Michael S. Klishin
87184af396
Initial Ring session store implementation
2012-05-14 16:10:55 +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
2228a6dcbe
How about you don't stop writing tests in the middle, Michael?
2012-05-03 19:55:06 +04:00
Michael S. Klishin
d04ab3af2d
More cleanup
2012-05-01 16:35:33 +04:00
Michael S. Klishin
971b2e230c
More test suite cleanup
2012-05-01 16:29:58 +04:00
Michael S. Klishin
d92112e135
Remove unused imports
2012-04-26 20:41:37 +04:00
Michael S. Klishin
6a2698dce2
Support serialization of Clojure sets (or anything that implements java.util.Set)
2012-04-16 02:32:28 +04:00
Michael S. Klishin
5c62e47de7
Add an example that inserts a document with Clojure keywords as values
2012-04-16 01:14:26 +04:00
Michael S. Klishin
379fb73795
Guard one more test that relies on authentication/ordering
2012-04-16 00:44:08 +04:00
Michael S. Klishin
29d97f611d
Try excluding the test that drops databases from CI
2012-04-16 00:41:43 +04:00
Michael S. Klishin
c970a60765
Remove some assertions that do not really test anything in the client
2012-04-16 00:38:26 +04:00
Michael S. Klishin
2c9cce8466
Capped collections support
2012-04-12 06:10:08 +04:00
Michael S. Klishin
f049fed33b
Remove a fragile test
...
2.0.4 returns some BS error messages for it. I'd fix it if I could understand it. There are other tests for commands, so
screw it.
2012-04-12 04:17:29 +04:00
Michael S. Klishin
261583e604
Leiningen 2 style test naming
2012-04-12 00:40:37 +04:00
Michael S. Klishin
28831c61da
Initial monger.cache version, implements clojure.core.cache/CacheProtocol only
2012-04-11 20:58:05 +04:00
Michael S. Klishin
07d44ddc1f
ws
2012-04-11 20:56:57 +04:00
Michael S. Klishin
009d4c6232
Eliminate a few reflection warnings
2012-04-11 16:04:50 +04:00
Michael S. Klishin
19b8e48084
Make sure we authenticate before calling set-db! (which instantiates a GridFS object)
...
Fixes Heroku/MongoHQ add-on issues
2012-04-11 01:33:29 +04:00
Michael S. Klishin
6e7c29ba8b
Improve support for URI connections
2012-04-11 00:20:07 +04:00
Michael S. Klishin
0da0a696f2
Initial support for URI connections.
...
I want to believe that the person who designed MongoDB Java driver API was not sober while at it.
2012-04-10 23:54:23 +04:00
Michael S. Klishin
a6d15dbbe1
Extend monger.core/count to MapReduceOutput
2012-04-10 19:16:21 +04:00
Michael S. Klishin
8f18d30e43
Extract map/reduce and indexing tests
2012-04-10 19:11:06 +04:00
Michael S. Klishin
fbd631b22e
Add a test that inserts documents with fields that are Clojure records
2012-04-10 16:12:59 +04:00
Michael S. Klishin
6282f41f06
Support field negation in queries, closes #17
2012-04-04 23:08:05 +04:00
Michael S. Klishin
c899c48263
Make sure we drop indexes after this test
2012-04-03 16:43:44 +04:00
Michael S. Klishin
0530b165f6
Add support for index options + unique indexes for monger.collection/ensure-index and monger.collection/create-index
2012-04-03 16:42:48 +04:00
Michael S. Klishin
f0d190cff7
Support conversion of Clojure ratios to MongoDB data types
...
We go with doubles because it is the only realistic solution that is
interoperable with all other technologies. Plus, Clojure ratios are just
lazily evaluated doubles anyway.
2012-04-02 12:14:24 +04:00
Michael S. Klishin
60a14e62e7
One more test to serve as example
2012-03-22 01:28:21 +04:00
Michael S. Klishin
1db1e04b0a
monger.testing => monger.testkit
...
If nothing else, this will save everyone some headaches trying to figure out
conflicts between testing the namespace alias and clojure.test/testing (the function)
2012-03-21 19:36:48 +04:00
Michael S. Klishin
5df187c596
Migrate to Leiningen 2
2012-03-10 22:13:39 +04:00
Michael S. Klishin
cedfecbbbd
Introduce monger.testing/memoized-oid (convenience function for defining referenced associations)
2012-03-08 12:18:02 +04:00
Michael S. Klishin
425327aafa
Introduce monger.testing/seed-all
2012-03-07 13:02:59 +04:00
Michael S. Klishin
dfb7bd3fc8
Remember object ids of inserted documents
2012-03-07 11:33:32 +04:00
Michael S. Klishin
0154e33470
Implement parent-id seeding in the factory DSL
2012-03-07 10:21:57 +04:00
Michael S. Klishin
94abe56605
Initial support for child => parent references in factories
2012-03-06 21:13:34 +04:00
Michael S. Klishin
5a2ab1a22b
Make monger.internal.fn/expand-all-with more flexible
2012-03-06 19:44:23 +04:00
Michael S. Klishin
9b9005448b
Implement monger.internal.fn/expand-all-with
2012-03-06 19:38:40 +04:00
Michael S. Klishin
c1409eb81e
Test case with child documents embedded into parent now passes
2012-03-06 12:07:02 +04:00
Michael S. Klishin
a2eb9ce964
Also expand vector values that are functions
2012-03-06 12:02:26 +04:00
Michael S. Klishin
64981ac913
One more test case
2012-03-06 11:47:11 +04:00
Michael S. Klishin
2e47407ef0
Implement expansion (evaluation) of function values in factories
2012-03-06 11:35:35 +04:00
Michael S. Klishin
b9016aff99
Implement recursive function value expansion (for maps)
2012-03-06 11:30:01 +04:00
Michael S. Klishin
c9d4c1316b
Make sure atomic modifiers tests can run on its own
2012-03-06 09:40:50 +04:00
Michael S. Klishin
e54bd37932
Cached object ids won't work, per (long) discussion with Alex
2012-03-05 20:55:08 +04:00
Michael S. Klishin
0f867b8236
Implement seeding (insertion) of factory-built documents, add (experimental) oid-of function
...
We will see if caching object ids is a viable idea, it is not obvious at this point
2012-03-05 18:10:36 +04:00
Michael S. Klishin
35be335a71
One more scenario
2012-03-05 17:21:07 +04:00
Michael S. Klishin
19a55b5a5b
Initial factory/fixture DSL bits
2012-03-05 17:09:59 +04:00
Michael S. Klishin
a09c55096c
Add ability to connect using ServerAddress and MongoOptions, closes #15
2012-02-28 20:08:05 +04:00
Michael S. Klishin
60688e7482
Merge branch 'toby-commands'
2012-02-21 15:06:29 +04:00
Toby Hede
9cc2d6dd19
insert into collection before re-index
...
just to see if that makes a diff
2012-02-21 13:13:20 +11:00
Toby Hede
219c9fa41c
temporarily remove reindex collection due to strange CI error
2012-02-21 13:07:25 +11:00
Toby Hede
f36528b592
command namespace and basic commands
2012-02-21 13:02:01 +11:00
Michael S. Klishin
7747325030
Make monger.core/get-db-names return a set
2012-02-20 16:06:05 +04:00
Michael Klishin
7348ca9f2e
Merge pull request #12 from tobyhede/63870b1136e63865ba349faa159d473b3cab79a7
...
new core/get-db-names
2012-02-20 04:00:40 -08:00
Toby Hede
63870b1136
add get-db-names to core
2012-02-20 22:46:07 +11:00
Michael S. Klishin
96d5b4a66f
Eliminate recently introduced reflection warnings
2012-02-19 05:32:50 +04:00
Michael S. Klishin
4a0fb343ec
Commit unsaved change
2012-02-18 19:04:56 +04:00
Michael S. Klishin
345ee691eb
Introduce monger.collection/remove-by-id
2012-02-18 19:02:43 +04:00
Michael S. Klishin
fdcad90cd8
Introduce monger.collection/update-by-id
2012-02-18 18:56:34 +04:00
Michael S. Klishin
13135c10dd
Make sure that tests that perform authentication and drop databases do not affect authentication tests
...
Fixes the build.
2012-02-18 15:59:33 +04:00
Michael S. Klishin
e29655a7fd
Cosmetics
2012-02-18 15:46:18 +04:00
Michael Klishin
1494cc5ad4
Merge pull request #11 from tobyhede/b51aae652403e98c4979191bfda60a776272836f
...
monger.db namespace and funcs
2012-02-18 03:43:06 -08:00
Toby Hede
157cbc698f
amend find-map-by-id to accept fields as 3rd parameter
...
fix atomic update tests that broke … being passed fields as the param, but mismatch in api
2012-02-18 21:57:45 +11:00
Toby Hede
3151587d67
add-user and test, db ns
2012-02-17 19:12:16 +11:00
Toby Hede
62e0fb945e
test for drop database
2012-02-15 21:32:45 +11:00
Toby Hede
300220da15
moved get-collection-names to new db ns
2012-02-15 21:00:01 +11:00
Toby Hede
d5cce8c97b
Merge remote-tracking branch 'upstream/master'
2012-02-14 21:49:56 +11:00
Toby Hede
66e5e929ad
add get-collections-names to core
2012-02-14 21:48:59 +11:00
Michael S. Klishin
f6a80fa40a
Make sure monger.collection/find-by-id and /find-map-by-id fail fast when id is nil
2012-02-13 22:52:03 +04:00
Michael S. Klishin
fe421cc0db
Make it possible to opt-out of field keywordization in the query DSL
...
An example:
``` clojure
(with-collection coll
(find {})
(limit 3)
(sort { :population -1 })
(keywordize-fields false))
```
2012-02-12 10:13:39 +04:00
Toby Hede
31aff189d3
find-one-as-map accepts fields as 3rd parameter
...
partial resolution of: https://github.com/michaelklishin/monger/issues/8
2012-02-12 15:43:33 +11:00
Michael S. Klishin
b301575fa1
Begin splitting monger.test.collection into individual test namespaces
2012-02-07 08:13:10 +04:00
Michael S. Klishin
d2408faea6
Introduce monger.core/authenticate
2012-02-02 09:53:26 +04:00
Michael S. Klishin
0bfe0582c0
Ditto for monger.collection/find and friends
2012-01-29 07:51:21 +04:00
Michael S. Klishin
3df399c2be
Ditto for monger.collection/distinct
2012-01-29 07:26:21 +04:00
Michael S. Klishin
b76cffcd1a
Ditto for monger.collection/save
2012-01-29 06:58:02 +04:00
Michael S. Klishin
afa516fff6
Explicit database parameter for monger.collection/insert-batch, /count, /empty?, /any?
2012-01-29 06:31:28 +04:00
Michael S. Klishin
e5af694cc7
Support explicit database parameter for monger.collection/insert
2012-01-29 06:04:11 +04:00
Michael S. Klishin
7b719baf7f
A test that demonstrates querying with date ranges
2012-01-26 17:26:51 +04:00
Oleksandr Petrov
d081a201da
Adding non-array tests for $nin and $in operators.
2012-01-25 22:19:51 +01:00
Oleksandr Petrov
9af8a13ea9
Merge branch 'master' of https://github.com/michaelklishin/monger
2012-01-25 21:56:09 +01:00
Oleksandr Petrov
7ab8d51a84
Adding missing $nin operator.
2012-01-25 21:56:06 +01:00
Michael S. Klishin
12a46ca4ab
Demonstrate querying with comparison operators ($lt, etc) over date fields and Joda Time integration
2012-01-04 19:56:38 +04:00
Michael S. Klishin
1187719ac1
Extend monger.gridfs.GridFSInputFileFactory to support input streams
2011-12-31 16:52:23 +04:00
Michael S. Klishin
cb9ed8edb5
monger.gridfs/find-one-as-map is next to useless, remove it
...
It does not allow you access file content stream.
2011-12-31 16:27:56 +04:00
Michael S. Klishin
a292f082e8
Implement monger.gridfs/find-one and /find-one-as-map
2011-12-31 16:23:49 +04:00
Michael S. Klishin
7eec647a97
Use unqualified function names for what we :use
2011-12-31 15:02:21 +04:00
Michael S. Klishin
7da99d98a3
Implement monger.gridfs.GridFSInputFileFactory for java.io.File instances
2011-12-31 15:01:00 +04:00
Michael S. Klishin
ced9b50153
Make monger.gridfs.IOFactory implementation for String to work the same way as clojure.java.io/IOFactory one does
...
It treats string arguments as local filesystem paths
2011-12-31 14:57:17 +04:00
Michael S. Klishin
b649c7977e
Cosmetics
2011-12-31 06:59:21 +04:00
Michael S. Klishin
eab4405012
Initial bits of monger.gridfs
2011-12-31 06:56:02 +04:00
Michael S. Klishin
f3efbcec16
One more query DSL composition example, introduce monger.query/partial-query
2011-12-31 04:25:26 +04:00
Michael S. Klishin
5bbac64801
Query DSL composition example
2011-12-31 03:23:52 +04:00
Michael S. Klishin
1cb024dcad
Add read preference support for monger.query DSL
2011-12-30 17:19:44 +04:00
Michael S. Klishin
ef3c224441
Fix these early tests to use locals
2011-12-30 17:10:36 +04:00
Michael S. Klishin
c25609a5c3
monger.conversion/to-object-id
2011-12-28 19:46:47 +04:00
Oleksandr Petrov
1a8eb1ef80
Added docs, improved test suite.
...
Removed (seq) method call from find-maps, since DBCursor implements Iterable interface.
Added empty? method for collection.
2011-12-23 11:56:14 +01:00
Michael S. Klishin
3357179659
One more spot
2011-12-18 23:25:28 +04:00
Michael S. Klishin
3b3bb2287a
Extract test DB connection into a helper, use it for every namespace that hits the database
2011-12-18 23:24:23 +04:00
Michael S. Klishin
cd1bd23b3e
Switch test suite to monger.testing/defcleaner
2011-12-18 23:16:54 +04:00
Michael S. Klishin
19a9beb046
Add test examples that demonstrate java.util.Date and java.util.Calendar conversion
2011-12-16 11:42:13 +04:00
Michael S. Klishin
57c4ad6e9b
Switch to clojure.java.io/resource here
2011-12-16 11:12:55 +04:00
Oleksandr Petrov
e6f81e52a7
Merge branch 'master' of https://github.com/michaelklishin/monger
2011-12-03 18:40:52 +01:00
Oleksandr Petrov
611d9666bd
Added get-write-concern function.
2011-12-03 18:39:02 +01:00
Michael S. Klishin
8127d26442
Fix monger.util/get-id for persistent maps with string keys
2011-11-29 15:44:55 +04:00
Michael S. Klishin
be06397849
Introduce monger.collection/any?
...
Useful for detecting duplicate documents and so on
2011-11-28 20:12:19 +04:00
Oleksandr Petrov
01063a3476
Removing outdated comment
2011-11-25 17:33:10 +01:00
Oleksandr Petrov
94acfdec54
Changing 'is' test to 'are' for brevity.
2011-11-19 23:41:53 +01:00
Michael S. Klishin
ddcbf2d068
One more test for clojure.data.json integration
2011-11-16 01:00:18 +04:00
Michael S. Klishin
d9f5ae5951
Move pagination helper to monger.internal.pagination
2011-11-15 03:48:31 +04:00
Michael S. Klishin
3534e579b7
Add pagination support to monger.query DSL
...
An example:
(with-collection coll
(find {})
(paginate :page 1 :per-page 3)
(sort { :title 1 }))
2011-11-15 03:44:19 +04:00
Michael S. Klishin
9b5eee13e0
Port many monger.test.querying tests to use new monger.query DSL
2011-11-15 03:10:55 +04:00
Michael S. Klishin
0536244dce
Merge branch 'master' into query-dsl
...
Conflicts:
src/monger/operators.clj
2011-11-14 15:23:47 +04:00
Michael S. Klishin
bd133c1afc
Initial version of the monger.query DSL
...
Here is what it looks like:
(with-collection "docs"
(find { :inception_year { $lt 2000 $gte 2011 } })
(fields { :inception_year 1 :name 1 })
(skip 10)
(limit 20)
(batch-size 50)
(hint "my-index-name")
(snapshot))
2011-11-14 15:15:43 +04:00
Oleksandr Petrov
8c93095393
Adding test demonstrating regexp document search.
2011-11-13 17:47:26 +01:00
Oleksandr Petrov
047d5b6a88
Separating operators to Logical Operators, Query Operators and Atomic Modifiers.
...
Adding docs to most of operators (still TBC), giving more examples, improving test suite.
2011-11-11 18:55:43 +01:00
Michael S. Klishin
99c46c4860
Merge branch 'master' into query-dsl
2011-11-09 12:44:56 +04:00
Michael S. Klishin
c109702117
Rewort $operator macros to evaluate to strings and not functions
...
Unlike Casbah and Korma, we already use query language data structures as close to what MongoDB uses as possible
(Clojure maps, vectors, numerics and strings are effectively JSON) so we don't need any layers on top, they won't improve
anything.
Having these operators is nice beacuse if you use atomic operators a lot, this will make sure Clojure compiler catches
typos for you. It is completely opt-in, however.
Finally, having a function inserted carries certain runtime performance cost and having $operator macros
that evaluate to themselves does not.
Per discussion with Alex.
2011-11-09 12:40:22 +04:00
Oleksandr Petrov
bb169d3ae3
Adding operators DSL in order to use Clojure functions instead of hashes.
...
Casbah has a similar concept called Bareword Operators.
Korma uses operators a bit differently, but idea is quite same, too.
One of the obvious advantages is that you can make sure you didn't screw make a typo
in operator name during compile-time. Plus, we can guarantee that there is a subset
of used / supported operators, and add them gradually, keeping track of them in one place,
which will simplify tests, too.
2011-11-08 00:12:10 +01:00
Michael S. Klishin
88fa9f07bb
Query DSL work preparation
2011-11-06 23:03:36 +04:00
Michael S. Klishin
6dd3491d39
A few more test examples using "advanced" query operators
2011-11-06 04:59:27 +04:00
Michael S. Klishin
758fb9e7e6
Support skip & limit for monger.collection/find and /find-maps
...
As test example demonstrates, closely following DBCollection and DBCursor API has one downside:
queries that use sorting look really ugly. So monger needs to come up with a DSL à la Casbah or SQLKorma
to make this really nice.
2011-11-05 09:45:54 +04:00
Michael S. Klishin
7a9dcbf15d
Tests/examples for the $rename modifier
2011-10-31 02:52:44 +04:00
Michael S. Klishin
f29d62f181
Tests/examples for $pull and $pullAll modifiers
2011-10-31 02:40:55 +04:00
Michael S. Klishin
60ca5c04a2
Tests/examples for the $pop modifier
2011-10-31 02:30:07 +04:00
Michael S. Klishin
ec26008c4f
Tests/examples for the $addToSet modifier
2011-10-31 02:20:54 +04:00
Michael S. Klishin
6615c16675
Tests/examples for the $pushAll modifier
...
Also demonstrate a common mistake when $push is used instead of $pushAll with an
array value.
2011-10-31 00:49:44 +04:00
Michael S. Klishin
5dba219537
Tests/examples for the $push modifier
2011-10-31 00:12:43 +04:00
Michael S. Klishin
537969ff09
Tests/examples for the modifier
2011-10-30 23:57:33 +04:00
Michael S. Klishin
d855762546
Tests/examples for the $inc modifier
2011-10-30 19:01:01 +04:00