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
Michael S. Klishin
c40b0e25c1
Simplify defoperator
2011-11-12 20:46:34 +04:00
Michael S. Klishin
0b242f9586
Add operator
2011-11-12 20:33:02 +04: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
Oleksandr Petrov
df12686708
Making defoperator private by default
2011-11-11 18:54:11 +01:00
Michael S. Klishin
f3ce1fd4b8
Upgrade to MongoDB Java driver 2.7.1
2011-11-10 20:50:44 +04:00
Michael S. Klishin
5b7badc341
Upgrade to MongoDB Java driver 2.7.1
2011-11-10 20:50:09 +04: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
20c271eee5
A typo
2011-11-05 08:31:46 +04:00
Michael S. Klishin
05466c60b7
Upgrade to MongoDB Java driver 2.7.0
2011-11-04 22:45:09 +04:00
Michael Klishin
9ae145bf3d
Update README.md
2011-11-04 10:26:32 +04:00
Michael Klishin
1d23bd7842
Update README.md
2011-11-02 18:56:59 +04:00
Michael Klishin
4373fc3835
Update README.md
2011-11-02 18:56:23 +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
Michael S. Klishin
9bd9b93fa1
Initial set of tests for atomic modifiers
...
Mostly to serve as examples but also to see where we may be beneficial
for Monger to offer special support for some of them.
2011-10-30 17:41:11 +04:00
Michael S. Klishin
592451b2a1
Depend on clj-time 0.3.2-SNAPSHOT, first 1.3-compatible release by the new maintainer
2011-10-29 22:15:13 +04:00
Michael Klishin
b4d4e55d57
Update README.md
2011-10-22 13:51:58 +03:00
Michael S. Klishin
690d239c5f
One more README update
2011-10-19 19:41:49 +04:00
Michael Klishin
99b0c94181
Update README.md
2011-10-19 19:32:55 +04:00
Michael S. Klishin
746d83459e
Rename function that sets *default* write concern
2011-10-18 18:11:51 +04:00
Michael S. Klishin
fbd00ee151
Use WriteConcern/SAFE by default
...
WriteConcern/NORMAL is ridiculously dangerous and most apps simply do not have performance
requirements to justify completely ignoring server responses.
2011-10-18 17:50:28 +04:00
Michael S. Klishin
e2b6c6e21b
Update clojure.data.json to 0.1.2
2011-10-18 17:43:11 +04:00
Michael S. Klishin
c820d5885a
Use monger.result/ok? and do not compare to `true' here
2011-10-16 18:19:26 +04:00
Michael S. Klishin
220efa04a5
Merge branch 'master' of github.com:michaelklishin/monger
2011-10-16 18:15:50 +04:00
Oleksandr Petrov
edbaec0a3b
Merge branch 'master' of https://github.com/michaelklishin/monger
2011-10-16 16:04:55 +02:00
Oleksandr Petrov
1dc94ae351
Adding some docs for indexing.
2011-10-16 16:04:51 +02:00
Oleksandr Petrov
410ef23b03
Adding some docs and minor tests for monger.core/command.
2011-10-16 15:39:21 +02:00
Michael S. Klishin
7904dd3162
Link to the EPL
2011-10-16 17:03:14 +04:00
Michael S. Klishin
ddf3156c8e
Load mapper function from .js resource
2011-10-16 16:02:13 +04:00
Michael S. Klishin
4336b6f414
Introduce monger.js/load-resource, a helper that loads JS files from the classpath
...
Yes, to be used with map/reduce and so on.
2011-10-16 15:54:53 +04:00
Michael S. Klishin
ab99184914
Add development resources directory
2011-10-16 15:54:22 +04:00
Michael S. Klishin
4be37a4f67
Formatting
2011-10-16 15:54:09 +04:00
Michael S. Klishin
3963808152
Introduce monger.collection/distinct
2011-10-16 14:19:04 +04:00
Michael S. Klishin
d639fab9cf
Two more reflection warnings
2011-10-15 04:17:59 +04:00
Michael S. Klishin
aee8862bc6
Merge branch 'map/reduce'
2011-10-15 04:16:15 +04:00
Michael S. Klishin
946348a8d9
Nuke a couple of reflection warnings
2011-10-15 04:16:02 +04:00
Michael S. Klishin
c62c433559
Initial map/reduce support
2011-10-14 22:18:35 +04:00