mongous 0.2.1 → 0.4.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +4 -4
- data/.rubocop.yml +73 -0
- data/README.adoc +176 -26
- data/README.ja.adoc +176 -26
- data/Rakefile +8 -8
- data/_Gemfile.lock +38 -0
- data/lib/mongous/base.rb +52 -8
- data/lib/mongous/document.rb +21 -10
- data/lib/mongous/extention.rb +45 -35
- data/lib/mongous/filter.rb +316 -230
- data/lib/mongous/version.rb +1 -1
- data/mongous.gemspec +4 -4
- data/sample/connect_auto_0.rb +9 -0
- data/sample/declare_compact_1.rb +5 -8
- data/sample/declare_compact_2.rb +38 -0
- data/sample/declare_label_1.rb +7 -7
- data/sample/declare_ndex_1.rb +6 -6
- data/sample/declare_ndex_2.rb +7 -7
- data/sample/declare_strict_1.rb +2 -4
- data/sample/declare_strict_2.rb +2 -4
- data/sample/multi_collection_1.rb +0 -2
- data/sample/multi_collection_2.rb +0 -2
- data/sample/multi_collection_3.rb +24 -0
- data/sample/query_basic_1.rb +10 -4
- data/sample/query_basic_2.rb +10 -4
- data/sample/query_basic_3.rb +0 -2
- data/sample/query_basic_4.rb +0 -2
- data/sample/query_basic_5.rb +0 -2
- data/sample/query_basic_6.rb +56 -0
- data/sample/query_detail_1.rb +2 -3
- data/sample/query_detail_2.rb +2 -3
- data/sample/query_detail_3.rb +0 -2
- data/sample/query_filter_1.rb +0 -2
- data/sample/query_filter_2.rb +0 -2
- data/sample/query_find_1.rb +14 -13
- data/sample/query_select_1.rb +54 -0
- data/sample/query_skip_limit_1.rb +17 -16
- data/sample/query_skip_limit_2.rb +19 -10
- data/sample/query_sort_1.rb +43 -0
- data/sample/save_basic_1.rb +1 -5
- data/sample/save_basic_2.rb +1 -5
- data/sample/save_basic_3.rb +1 -5
- data/sample/save_detail_1.rb +0 -2
- data/sample/save_detail_2.rb +0 -2
- data/sample/save_detail_3.rb +5 -7
- data/sample/save_verify_1.rb +2 -4
- data/sample/save_verify_2.rb +0 -2
- data/sample/save_verify_3.rb +0 -2
- data/sample/save_verify_4.rb +0 -2
- data/sample/save_verify_5.rb +0 -2
- data/sample/save_verify_6.rb +0 -2
- data/sample/save_verify_7.rb +0 -2
- data/sample/update_basic_1.rb +1 -5
- data/sample/zap_basic_1.rb +1 -5
- data/sample/zap_basic_2.rb +2 -6
- data/sample/zap_basic_3.rb +7 -0
- data/sample/zbenchmark_search_1.rb +114 -0
- data/sample/zbenchmark_search_2.rb +114 -0
- data/sample/zbenchmark_search_3.rb +88 -0
- metadata +31 -22
- data/.travis.yml +0 -6
- data/sample/query_projection_1.rb +0 -41
- data/sample/query_sort_order_1.rb +0 -46
checksums.yaml
CHANGED
@@ -1,7 +1,7 @@
|
|
1
1
|
---
|
2
2
|
SHA256:
|
3
|
-
metadata.gz:
|
4
|
-
data.tar.gz:
|
3
|
+
metadata.gz: 6fec2b64e882095a188352b441075601ca5e84ba7063d70a04e7d182533ebb34
|
4
|
+
data.tar.gz: b332b82c2d95dab25b3c69c1786757e17c0c599319f88defacad44303f8d828c
|
5
5
|
SHA512:
|
6
|
-
metadata.gz:
|
7
|
-
data.tar.gz:
|
6
|
+
metadata.gz: 6cb477d1f25353cecc88f333136840ed75880b2ab38e7825f6053c01134f7bb5aa24950777a626cd46cc93e2fc88a857a1093f7cf925362e524bd857f6eb794b
|
7
|
+
data.tar.gz: d8ee46a451a09ab429b9754e861f21e276d311cb6b6467faef093f79a4e4868881cbc0dfe7679aa5205b5838c2ca93d1d7ff48150cc12226a0efa8ff8d5e27d5
|
data/.rubocop.yml
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
|
2
|
+
AllCops:
|
3
|
+
Exclude:
|
4
|
+
- '.*'
|
5
|
+
- '*'
|
6
|
+
- '*.gemspec'
|
7
|
+
- 'Gemfile*'
|
8
|
+
- 'bin/**'
|
9
|
+
- 'exe/**'
|
10
|
+
- 'config/**/*'
|
11
|
+
- 'spec/**/*'
|
12
|
+
- 'tmp/**/*'
|
13
|
+
- 'vendor/**/*'
|
14
|
+
TargetRubyVersion: 2.7
|
15
|
+
|
16
|
+
Layout/ExtraSpacing:
|
17
|
+
Enabled: false
|
18
|
+
|
19
|
+
Layout/SpaceAroundOperators:
|
20
|
+
Enabled: false
|
21
|
+
|
22
|
+
Layout/SpaceBeforeFirstArg:
|
23
|
+
Enabled: false
|
24
|
+
|
25
|
+
Layout/SpaceInsideParens:
|
26
|
+
Enabled: false
|
27
|
+
|
28
|
+
Layout/SpaceInsideArrayLiteralBrackets:
|
29
|
+
Enabled: false
|
30
|
+
|
31
|
+
Layout/SpaceInsideRangeLiteral:
|
32
|
+
Enabled: false
|
33
|
+
|
34
|
+
Layout/SpaceInsideReferenceBrackets:
|
35
|
+
Enabled: false
|
36
|
+
|
37
|
+
Layout/SpaceInsideStringInterpolation:
|
38
|
+
Enabled: false
|
39
|
+
|
40
|
+
Lint/AmbiguousBlockAssociation:
|
41
|
+
Enabled: false
|
42
|
+
|
43
|
+
Lint/EmptyWhen:
|
44
|
+
Enabled: false
|
45
|
+
|
46
|
+
Lint/ReturnInVoidContext:
|
47
|
+
Enabled: false
|
48
|
+
|
49
|
+
Lint/UselessAssignment:
|
50
|
+
Enabled: false
|
51
|
+
|
52
|
+
Metrics/BlockLength:
|
53
|
+
Enabled: false
|
54
|
+
|
55
|
+
Metrics/LineLength:
|
56
|
+
Enabled: false
|
57
|
+
Max: 120
|
58
|
+
|
59
|
+
Metrics/MethodLength:
|
60
|
+
Enabled: false
|
61
|
+
|
62
|
+
Style/Documentation:
|
63
|
+
Enabled: true
|
64
|
+
|
65
|
+
Style/FrozenStringLiteralComment:
|
66
|
+
Enabled: false
|
67
|
+
|
68
|
+
Style/NumericPredicate:
|
69
|
+
Enabled: false
|
70
|
+
|
71
|
+
Style/StringLiterals:
|
72
|
+
Enabled: false
|
73
|
+
|
data/README.adoc
CHANGED
@@ -9,8 +9,8 @@ Yet another mongo wrapper library.
|
|
9
9
|
* Check if the constraint conditions are met when saving the document.
|
10
10
|
* Check if the constraint condition is satisfied when setting the item value of the document.
|
11
11
|
* The contents of undefined items in the document can be described by value or Proc.
|
12
|
-
* Item
|
13
|
-
*
|
12
|
+
* Item contents at the time of document creation and update can be described by value or Proc.
|
13
|
+
* The database collection name corresponding to the class name is not converted to the plural form.
|
14
14
|
|
15
15
|
== Installation
|
16
16
|
|
@@ -39,11 +39,7 @@ Or install it yourself as:
|
|
39
39
|
----
|
40
40
|
require "mongous"
|
41
41
|
|
42
|
-
Mongous.
|
43
|
-
|
44
|
-
class Book
|
45
|
-
include Mongous::Document
|
46
|
-
end
|
42
|
+
Mongous.document! :Book
|
47
43
|
----
|
48
44
|
|
49
45
|
=== Detail declaration
|
@@ -57,10 +53,10 @@ Mongous.connect! ["localhost:27017"], database: "test"
|
|
57
53
|
class Book
|
58
54
|
include Mongous::Document
|
59
55
|
|
60
|
-
field :title, String,
|
56
|
+
field :title, String, :must
|
61
57
|
field :author, String
|
62
58
|
field :publisher, String
|
63
|
-
field :style, String, %w[hardcover
|
59
|
+
field :style, String, %w[hardcover softcover paperback]
|
64
60
|
field :size, String, /[AB]\d/
|
65
61
|
field :price, Integer, (0..1_000_000)
|
66
62
|
field :page, Integer, proc{ page % 4 == 0 }
|
@@ -107,7 +103,8 @@ Book.create( **doc )
|
|
107
103
|
----
|
108
104
|
pp books = Book.all
|
109
105
|
|
110
|
-
p book = Book.where( title:
|
106
|
+
p book = Book.where( title: /title/ ).first
|
107
|
+
p book = Book.where( title: /title/ ).last
|
111
108
|
|
112
109
|
books = Book.where( title: /title/ ).all
|
113
110
|
books.each do |book|
|
@@ -141,7 +138,15 @@ Book.find( { title: /title/ }, { projection: {_id: 0} } ).each do |book|
|
|
141
138
|
p book
|
142
139
|
end
|
143
140
|
|
144
|
-
|
141
|
+
Book.where( title: /title/ ).select( _id: 0 ).each do |book|
|
142
|
+
p book
|
143
|
+
end
|
144
|
+
|
145
|
+
Book.select( _id: 0 )[0, 5].each do |book|
|
146
|
+
p book
|
147
|
+
end
|
148
|
+
|
149
|
+
pp Book.select( :title, :price, :size )[5, 5].all
|
145
150
|
----
|
146
151
|
|
147
152
|
=== Update document
|
@@ -191,7 +196,22 @@ Mongous.connect( hosts_or_uri = nil, **options )
|
|
191
196
|
* Result:
|
192
197
|
** Mongo::Client instance.
|
193
198
|
|
194
|
-
===
|
199
|
+
=== Define collection operate class with default settings.
|
200
|
+
|
201
|
+
[source,ruby]
|
202
|
+
----
|
203
|
+
Mongous.document!( *names, **options )
|
204
|
+
----
|
205
|
+
|
206
|
+
* Result:
|
207
|
+
** nil.
|
208
|
+
|
209
|
+
* Parameter:
|
210
|
+
** names: Collection names. (String or Symbol)
|
211
|
+
** options: Options.
|
212
|
+
*** timestamp: If true then add fields :created_at, :updated_at.
|
213
|
+
|
214
|
+
=== Include document functions into collection operate class.
|
195
215
|
|
196
216
|
[source,ruby]
|
197
217
|
----
|
@@ -202,7 +222,7 @@ include Mongous::Document
|
|
202
222
|
|
203
223
|
[source,ruby]
|
204
224
|
----
|
205
|
-
self.client=(
|
225
|
+
self.client=( client )
|
206
226
|
----
|
207
227
|
|
208
228
|
* Result:
|
@@ -211,6 +231,19 @@ self.client=( _client )
|
|
211
231
|
* Parameter:
|
212
232
|
** client: Mongo::Client instance.
|
213
233
|
|
234
|
+
=== Get binded database.
|
235
|
+
|
236
|
+
[source,ruby]
|
237
|
+
----
|
238
|
+
self.client
|
239
|
+
----
|
240
|
+
|
241
|
+
* Result:
|
242
|
+
** Mongo::Client instance.
|
243
|
+
|
244
|
+
* Parameter:
|
245
|
+
** None.
|
246
|
+
|
214
247
|
=== Bind another collection.
|
215
248
|
|
216
249
|
[source,ruby]
|
@@ -224,11 +257,37 @@ self.collection_name=( _collection_name )
|
|
224
257
|
* Parameter:
|
225
258
|
** collection_name: Collection name.
|
226
259
|
|
260
|
+
=== Get binded collection name.
|
261
|
+
|
262
|
+
[source,ruby]
|
263
|
+
----
|
264
|
+
self.collection_name
|
265
|
+
----
|
266
|
+
|
267
|
+
* Result:
|
268
|
+
** Collection name string.
|
269
|
+
|
270
|
+
* Parameter:
|
271
|
+
** None.
|
272
|
+
|
273
|
+
=== Get collection.
|
274
|
+
|
275
|
+
[source,ruby]
|
276
|
+
----
|
277
|
+
self.collection( collection_name = nil )
|
278
|
+
----
|
279
|
+
|
280
|
+
* Result:
|
281
|
+
** Mongo::Collection instance.
|
282
|
+
|
283
|
+
* Parameter:
|
284
|
+
** collection_name: Tempolary collection name.
|
285
|
+
|
227
286
|
=== Declare document structure.
|
228
287
|
|
229
288
|
[source,ruby]
|
230
289
|
----
|
231
|
-
field( symbol, *attrs, **items )
|
290
|
+
self.field( symbol, *attrs, **items )
|
232
291
|
----
|
233
292
|
|
234
293
|
* Parameter:
|
@@ -249,7 +308,7 @@ field( symbol, *attrs, **items )
|
|
249
308
|
|
250
309
|
[source,ruby]
|
251
310
|
----
|
252
|
-
verify( *directives, &block )
|
311
|
+
self.verify( *directives, &block )
|
253
312
|
----
|
254
313
|
|
255
314
|
* Parameter:
|
@@ -261,7 +320,7 @@ verify( *directives, &block )
|
|
261
320
|
|
262
321
|
[source,ruby]
|
263
322
|
----
|
264
|
-
index( *symbols, **options )
|
323
|
+
self.index( *symbols, **options )
|
265
324
|
----
|
266
325
|
|
267
326
|
* Parameter:
|
@@ -272,7 +331,7 @@ index( *symbols, **options )
|
|
272
331
|
|
273
332
|
[source,ruby]
|
274
333
|
----
|
275
|
-
having?( label )
|
334
|
+
self.having?( label )
|
276
335
|
----
|
277
336
|
|
278
337
|
* Result:
|
@@ -285,22 +344,38 @@ having?( label )
|
|
285
344
|
|
286
345
|
[source,ruby]
|
287
346
|
----
|
288
|
-
filter( symbol, filter_or_cond )
|
347
|
+
self.filter( symbol, filter_or_cond )
|
289
348
|
----
|
290
349
|
|
291
350
|
* Parameter:
|
292
351
|
** symbol: Filter name.
|
293
352
|
** filter_or_cond: Filter or search criteria.
|
294
353
|
|
354
|
+
=== Select output fields.
|
355
|
+
|
356
|
+
[source,ruby]
|
357
|
+
----
|
358
|
+
Mongous::Document.select( *keys, **kwargs )
|
359
|
+
Mongous::Filter#select( *keys, **kwargs )
|
360
|
+
----
|
361
|
+
|
362
|
+
* Result:
|
363
|
+
** Mongous::Filter instance.
|
364
|
+
|
365
|
+
* Parameter:
|
366
|
+
** keys: Field symbols.
|
367
|
+
** kwargs: Field symbols and values.
|
368
|
+
|
295
369
|
=== Search condition.
|
296
370
|
|
297
371
|
[source,ruby]
|
298
372
|
----
|
299
|
-
where( filter = nil, **conditions )
|
373
|
+
Mongous::Document.where( filter = nil, **conditions )
|
374
|
+
Mongous::Filter#where( filter = nil, **conditions )
|
300
375
|
----
|
301
376
|
|
302
377
|
* Result:
|
303
|
-
** Filter instance.
|
378
|
+
** Mongous::Filter instance.
|
304
379
|
|
305
380
|
* Parameter:
|
306
381
|
** filter: Filter name symbol, or filter instance.
|
@@ -310,11 +385,12 @@ where( filter = nil, **conditions )
|
|
310
385
|
|
311
386
|
[source,ruby]
|
312
387
|
----
|
313
|
-
not( filter = nil, **conditions )
|
388
|
+
Mongous::Document.not( filter = nil, **conditions )
|
389
|
+
Mongous::Filter#not( filter = nil, **conditions )
|
314
390
|
----
|
315
391
|
|
316
392
|
* Result:
|
317
|
-
** Filter instance.
|
393
|
+
** Mongous::Filter instance.
|
318
394
|
|
319
395
|
* Parameter:
|
320
396
|
** filter: Filter name symbol, or filter instance.
|
@@ -324,11 +400,12 @@ not( filter = nil, **conditions )
|
|
324
400
|
|
325
401
|
[source,ruby]
|
326
402
|
----
|
327
|
-
and( *filters )
|
403
|
+
Mongous::Document.and( *filters )
|
404
|
+
Mongous::Filter#and( *filters )
|
328
405
|
----
|
329
406
|
|
330
407
|
* Result:
|
331
|
-
** Filter instance.
|
408
|
+
** Mongous::Filter instance.
|
332
409
|
|
333
410
|
* Parameter:
|
334
411
|
** filters: Filter name symbol, or filter instance.
|
@@ -337,15 +414,88 @@ and( *filters )
|
|
337
414
|
|
338
415
|
[source,ruby]
|
339
416
|
----
|
340
|
-
or( *filters )
|
417
|
+
Mongous::Document.or( *filters )
|
418
|
+
Mongous::Filter#or( *filters )
|
341
419
|
----
|
342
420
|
|
343
421
|
* Result:
|
344
|
-
** Filter instance.
|
422
|
+
** Mongous::Filter instance.
|
345
423
|
|
346
424
|
* Parameter:
|
347
425
|
** filters: Field name symbol, or filter instance.
|
348
426
|
|
427
|
+
=== Create document.
|
428
|
+
|
429
|
+
[source,ruby]
|
430
|
+
----
|
431
|
+
Mongous::Document.create( **doc )
|
432
|
+
----
|
433
|
+
|
434
|
+
* Result:
|
435
|
+
** nil.
|
436
|
+
|
437
|
+
* Parameter:
|
438
|
+
** doc: Keyword arguments.
|
439
|
+
|
440
|
+
=== Save document.
|
441
|
+
|
442
|
+
[source,ruby]
|
443
|
+
----
|
444
|
+
Mongous::Document#save
|
445
|
+
----
|
446
|
+
|
447
|
+
* Result:
|
448
|
+
** nil.
|
449
|
+
|
450
|
+
=== Convert document to Hash.
|
451
|
+
|
452
|
+
[source,ruby]
|
453
|
+
----
|
454
|
+
Mongous::Document#to_hash
|
455
|
+
----
|
456
|
+
|
457
|
+
* Result:
|
458
|
+
** Hash object.
|
459
|
+
|
460
|
+
=== Convert document to JSON.
|
461
|
+
|
462
|
+
[source,ruby]
|
463
|
+
----
|
464
|
+
Mongous::Document#to_json
|
465
|
+
----
|
466
|
+
|
467
|
+
* Result:
|
468
|
+
** JSON String.
|
469
|
+
|
470
|
+
=== Read document field.
|
471
|
+
|
472
|
+
[source,ruby]
|
473
|
+
----
|
474
|
+
Mongous::Document#[]( field_name )
|
475
|
+
Mongous::Document#field_name
|
476
|
+
----
|
477
|
+
|
478
|
+
* Result:
|
479
|
+
** field_value.
|
480
|
+
|
481
|
+
* Parameter:
|
482
|
+
** field_name: Field name.
|
483
|
+
|
484
|
+
=== Write document field.
|
485
|
+
|
486
|
+
[source,ruby]
|
487
|
+
----
|
488
|
+
Mongous::Document#[]=( field_name, field_value )
|
489
|
+
Mongous::Document#field_name = field_value
|
490
|
+
----
|
491
|
+
|
492
|
+
* Result:
|
493
|
+
** field_value.
|
494
|
+
|
495
|
+
* Parameter:
|
496
|
+
** field_name: Field name.
|
497
|
+
** field_value: Field value.
|
498
|
+
|
349
499
|
== Contributing
|
350
500
|
|
351
501
|
Bug reports and pull requests are welcome on GitHub at https://github.com/arimay/mongous.
|
data/README.ja.adoc
CHANGED
@@ -4,13 +4,13 @@
|
|
4
4
|
|
5
5
|
== 特徴
|
6
6
|
|
7
|
-
* 組込みと標準添付を除いて、mongo driver と bson
|
7
|
+
* 組込みと標準添付を除いて、mongo driver と bson のみに依存する軽いライブラリである.
|
8
8
|
* ドキュメント項目の制約条件を Array, Range, Regexp, Proc インスタンスまたは基本クラスで記述できる.
|
9
9
|
* ドキュメント保存時に制約条件を満たすか検査する.
|
10
10
|
* ドキュメントの項目値設定時に制約条件を満たすか検査する.
|
11
11
|
* ドキュメントの未定義項目の内容を値または Proc で記述できる.
|
12
|
-
*
|
13
|
-
*
|
12
|
+
* ドキュメント作成時および更新時の項目内容を値または Proc で記述できる.
|
13
|
+
* クラス名に対応するデータベースのコレクション名は、複数形へ変換しない.
|
14
14
|
|
15
15
|
== 導入
|
16
16
|
|
@@ -33,17 +33,13 @@ gem 'mongous'
|
|
33
33
|
|
34
34
|
== 使い方
|
35
35
|
|
36
|
-
===
|
36
|
+
=== 簡潔な定義
|
37
37
|
|
38
38
|
[source,ruby]
|
39
39
|
----
|
40
40
|
require "mongous"
|
41
41
|
|
42
|
-
Mongous.
|
43
|
-
|
44
|
-
class Book
|
45
|
-
include Mongous::Document
|
46
|
-
end
|
42
|
+
Mongous.document! :Book
|
47
43
|
----
|
48
44
|
|
49
45
|
=== 詳細な定義
|
@@ -60,7 +56,7 @@ class Book
|
|
60
56
|
field :title, String, :must
|
61
57
|
field :author, String
|
62
58
|
field :publisher, String
|
63
|
-
field :style, String, %w[hardcover
|
59
|
+
field :style, String, %w[hardcover softcover paperback]
|
64
60
|
field :size, String, /[AB]\d/
|
65
61
|
field :price, Integer, (0..1_000_000)
|
66
62
|
field :page, Integer, proc{ page % 4 == 0 }
|
@@ -107,7 +103,8 @@ Book.create( **doc )
|
|
107
103
|
----
|
108
104
|
pp books = Book.all
|
109
105
|
|
110
|
-
p book = Book.where( title:
|
106
|
+
p book = Book.where( title: /title/ ).first
|
107
|
+
p book = Book.where( title: /title/ ).last
|
111
108
|
|
112
109
|
books = Book.where( title: /title/ ).all
|
113
110
|
books.each do |book|
|
@@ -141,7 +138,15 @@ Book.find( { title: /title/ }, { projection: {_id: 0} } ).each do |book|
|
|
141
138
|
p book
|
142
139
|
end
|
143
140
|
|
144
|
-
|
141
|
+
Book.where( title: /title/ ).select( _id: 0 ).each do |book|
|
142
|
+
p book
|
143
|
+
end
|
144
|
+
|
145
|
+
Book.select( _id: 0 )[0, 5].each do |book|
|
146
|
+
p book
|
147
|
+
end
|
148
|
+
|
149
|
+
pp Book.select( :title, :price, :size )[5, 5].all
|
145
150
|
----
|
146
151
|
|
147
152
|
=== ドキュメント更新
|
@@ -191,7 +196,22 @@ Mongous.connect( hosts_or_uri = nil, **options )
|
|
191
196
|
* Result:
|
192
197
|
** Mongo::Client インスタンス.
|
193
198
|
|
194
|
-
===
|
199
|
+
=== コレクション操作クラスをデフォルト設定で定義する.
|
200
|
+
|
201
|
+
[source,ruby]
|
202
|
+
----
|
203
|
+
Mongous.document!( *names, **options )
|
204
|
+
----
|
205
|
+
|
206
|
+
* Result:
|
207
|
+
** nil.
|
208
|
+
|
209
|
+
* Parameter:
|
210
|
+
** names: コレクション名. (String または Symbol)
|
211
|
+
** options: オプション
|
212
|
+
*** timestamp: 真のとき, フィールド :created_at, :updated_at を追加する.
|
213
|
+
|
214
|
+
=== コレクション操作クラスにドキュメントの機能を取り入れる.
|
195
215
|
|
196
216
|
[source,ruby]
|
197
217
|
----
|
@@ -211,6 +231,19 @@ self.client=( client )
|
|
211
231
|
* Parameter:
|
212
232
|
** client: Mongo::Client インスタンス.
|
213
233
|
|
234
|
+
=== Get binded database.
|
235
|
+
|
236
|
+
[source,ruby]
|
237
|
+
----
|
238
|
+
self.client
|
239
|
+
----
|
240
|
+
|
241
|
+
* Result:
|
242
|
+
** Mongo::Client インスタンス.
|
243
|
+
|
244
|
+
* Parameter:
|
245
|
+
** None.
|
246
|
+
|
214
247
|
=== 別のコレクションを割り当てる.
|
215
248
|
|
216
249
|
[source,ruby]
|
@@ -224,11 +257,37 @@ self.collection_name=( collection_name )
|
|
224
257
|
* Parameter:
|
225
258
|
** collection_name: コレクション名.
|
226
259
|
|
260
|
+
=== Get binded collection name.
|
261
|
+
|
262
|
+
[source,ruby]
|
263
|
+
----
|
264
|
+
self.collection_name
|
265
|
+
----
|
266
|
+
|
267
|
+
* Result:
|
268
|
+
** Collection name 文字列.
|
269
|
+
|
270
|
+
* Parameter:
|
271
|
+
** None.
|
272
|
+
|
273
|
+
=== Get collection.
|
274
|
+
|
275
|
+
[source,ruby]
|
276
|
+
----
|
277
|
+
self.collection( collection_name = nil )
|
278
|
+
----
|
279
|
+
|
280
|
+
* Result:
|
281
|
+
** Mongo::Collection インスタンス.
|
282
|
+
|
283
|
+
* Parameter:
|
284
|
+
** collection_name: 一時指定するコレクション名.
|
285
|
+
|
227
286
|
=== ドキュメントの要素を定義する.
|
228
287
|
|
229
288
|
[source,ruby]
|
230
289
|
----
|
231
|
-
field( symbol, *attrs, **items )
|
290
|
+
self.field( symbol, *attrs, **items )
|
232
291
|
----
|
233
292
|
|
234
293
|
* Parameter:
|
@@ -249,7 +308,7 @@ field( symbol, *attrs, **items )
|
|
249
308
|
|
250
309
|
[source,ruby]
|
251
310
|
----
|
252
|
-
verify( *directives, &block )
|
311
|
+
self.verify( *directives, &block )
|
253
312
|
----
|
254
313
|
|
255
314
|
* Parameter:
|
@@ -261,7 +320,7 @@ verify( *directives, &block )
|
|
261
320
|
|
262
321
|
[source,ruby]
|
263
322
|
----
|
264
|
-
index( *symbols, **options )
|
323
|
+
self.index( *symbols, **options )
|
265
324
|
----
|
266
325
|
|
267
326
|
* Parameter:
|
@@ -272,7 +331,7 @@ index( *symbols, **options )
|
|
272
331
|
|
273
332
|
[source,ruby]
|
274
333
|
----
|
275
|
-
having?( label )
|
334
|
+
self.having?( label )
|
276
335
|
----
|
277
336
|
|
278
337
|
* Result:
|
@@ -285,22 +344,38 @@ having?( label )
|
|
285
344
|
|
286
345
|
[source,ruby]
|
287
346
|
----
|
288
|
-
filter( symbol, filter_or_cond )
|
347
|
+
self.filter( symbol, filter_or_cond )
|
289
348
|
----
|
290
349
|
|
291
350
|
* Parameter:
|
292
351
|
** symbol: 項目名
|
293
352
|
** filter_or_cond: フィルタまたは検索条件
|
294
353
|
|
354
|
+
=== 出力項目を選択する.
|
355
|
+
|
356
|
+
[source,ruby]
|
357
|
+
----
|
358
|
+
Mongous::Document.select( *keys, **kwargs )
|
359
|
+
Mongous::Filter#select( *keys, **kwargs )
|
360
|
+
----
|
361
|
+
|
362
|
+
* Result:
|
363
|
+
** Mongous::Filter instance.
|
364
|
+
|
365
|
+
* Parameter:
|
366
|
+
** keys: 項目名
|
367
|
+
** kwargs: 項目名と項目値.
|
368
|
+
|
295
369
|
=== 検索条件.
|
296
370
|
|
297
371
|
[source,ruby]
|
298
372
|
----
|
299
|
-
where( filter = nil, **conditions )
|
373
|
+
Mongous::Document.where( filter = nil, **conditions )
|
374
|
+
Mongous::Filter#where( filter = nil, **conditions )
|
300
375
|
----
|
301
376
|
|
302
377
|
* Result:
|
303
|
-
** Filter instance.
|
378
|
+
** Mongous::Filter instance.
|
304
379
|
|
305
380
|
* Parameter:
|
306
381
|
** filter: 項目名またはフィルタインスタンス
|
@@ -310,11 +385,12 @@ where( filter = nil, **conditions )
|
|
310
385
|
|
311
386
|
[source,ruby]
|
312
387
|
----
|
313
|
-
not( filter = nil, **conditions )
|
388
|
+
Mongous::Document.not( filter = nil, **conditions )
|
389
|
+
Mongous::Filter#not( filter = nil, **conditions )
|
314
390
|
----
|
315
391
|
|
316
392
|
* Result:
|
317
|
-
** Filter instance.
|
393
|
+
** Mongous::Filter instance.
|
318
394
|
|
319
395
|
* Parameter:
|
320
396
|
** filter: 項目名またはフィルタインスタンス
|
@@ -324,11 +400,12 @@ not( filter = nil, **conditions )
|
|
324
400
|
|
325
401
|
[source,ruby]
|
326
402
|
----
|
327
|
-
and( *filters )
|
403
|
+
Mongous::Document.and( *filters )
|
404
|
+
Mongous::Filter#and( *filters )
|
328
405
|
----
|
329
406
|
|
330
407
|
* Result:
|
331
|
-
** Filter instance.
|
408
|
+
** Mongous::Filter instance.
|
332
409
|
|
333
410
|
* Parameter:
|
334
411
|
** filters: 項目名またはフィルタインスタンス
|
@@ -337,15 +414,88 @@ and( *filters )
|
|
337
414
|
|
338
415
|
[source,ruby]
|
339
416
|
----
|
340
|
-
or( *filters )
|
417
|
+
Mongous::Document.or( *filters )
|
418
|
+
Mongous::Filter#or( *filters )
|
341
419
|
----
|
342
420
|
|
343
421
|
* Result:
|
344
|
-
** Filter instance.
|
422
|
+
** Mongous::Filter instance.
|
345
423
|
|
346
424
|
* Parameter:
|
347
425
|
** filters: 項目名またはフィルタインスタンス
|
348
426
|
|
427
|
+
=== ドキュメントを作成.
|
428
|
+
|
429
|
+
[source,ruby]
|
430
|
+
----
|
431
|
+
Mongous::Document.create( **doc )
|
432
|
+
----
|
433
|
+
|
434
|
+
* Result:
|
435
|
+
** nil.
|
436
|
+
|
437
|
+
* Parameter:
|
438
|
+
** doc: キーワード引数.
|
439
|
+
|
440
|
+
=== ドキュメントを保存.
|
441
|
+
|
442
|
+
[source,ruby]
|
443
|
+
----
|
444
|
+
Mongous::Document#save
|
445
|
+
----
|
446
|
+
|
447
|
+
* Result:
|
448
|
+
** nil.
|
449
|
+
|
450
|
+
=== ドキュメントをHashに変換.
|
451
|
+
|
452
|
+
[source,ruby]
|
453
|
+
----
|
454
|
+
Mongous::Document#to_hash
|
455
|
+
----
|
456
|
+
|
457
|
+
* Result:
|
458
|
+
** Hash object.
|
459
|
+
|
460
|
+
=== ドキュメントをJSONに変換.
|
461
|
+
|
462
|
+
[source,ruby]
|
463
|
+
----
|
464
|
+
Mongous::Document#to_json
|
465
|
+
----
|
466
|
+
|
467
|
+
* Result:
|
468
|
+
** JSON String.
|
469
|
+
|
470
|
+
=== ドキュメントの項目値を読む.
|
471
|
+
|
472
|
+
[source,ruby]
|
473
|
+
----
|
474
|
+
Mongous::Document#[]( field_name )
|
475
|
+
Mongous::Document#field_name
|
476
|
+
----
|
477
|
+
|
478
|
+
* Result:
|
479
|
+
** 項目値.
|
480
|
+
|
481
|
+
* Parameter:
|
482
|
+
** field_name: 項目名.
|
483
|
+
|
484
|
+
=== ドキュメントの項目値を書く.
|
485
|
+
|
486
|
+
[source,ruby]
|
487
|
+
----
|
488
|
+
Mongous::Document#[]=( field_name, field_value )
|
489
|
+
Mongous::Document#field_name = field_value
|
490
|
+
----
|
491
|
+
|
492
|
+
* Result:
|
493
|
+
** 項目値.
|
494
|
+
|
495
|
+
* Parameter:
|
496
|
+
** field_name: 項目名.
|
497
|
+
** field_value: 項目値.
|
498
|
+
|
349
499
|
== 貢献
|
350
500
|
|
351
501
|
不具合報告とプルリクエストは GitHub https://github.com/arimay/mongous まで.
|