diff --git a/Makefile b/Makefile index 7a8e8b4a08f..0cda3a04a11 100644 --- a/Makefile +++ b/Makefile @@ -70,4 +70,5 @@ examples: examples-python # Something about Python example examples-python: mkdir -p ${DRIVERS_PATH} - curl -SfL https://raw.githubusercontent.com/mongodb/mongo-python-driver/master/test/test_examples.py -o ${DRIVERS_PATH}/test_examples.py + curl -SfL https://raw.githubusercontent.com/mongodb/mongo-python-driver/master/test/test_examples.py -o ${DRIVERS_PATH}/test_examples.py + curl -SfL https://raw.githubusercontent.com/mongodb/mongo-perl-driver/master/t/examples/driver-examples.t -o ${DRIVERS_PATH}/driver-examples.t diff --git a/conf.py b/conf.py index cae7eee5346..1068ded0a20 100644 --- a/conf.py +++ b/conf.py @@ -81,6 +81,7 @@ def has(self, *args): 'opsmgr': ('https://docs.opsmanager.mongodb.com/current%s', ''), 'products': ('https://www.mongodb.com/products%s', ''), 'wtdocs': ('http://source.wiredtiger.com/mongodb-3.4%s', ''), + 'perl-api': ('https://metacpan.org/pod/MongoDB::%s', ''), } diff --git a/source/includes/driver-example-delete-55.rst b/source/includes/driver-example-delete-55.rst index d1824df20b2..b79d659fcd4 100644 --- a/source/includes/driver-example-delete-55.rst +++ b/source/includes/driver-example-delete-55.rst @@ -30,3 +30,12 @@ :dedent: 8 :start-after: Start Example 55 :end-before: End Example 55 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 55 + :end-before: End Example 55 diff --git a/source/includes/driver-example-delete-56.rst b/source/includes/driver-example-delete-56.rst index 08f5f5e47a2..3f839becd35 100644 --- a/source/includes/driver-example-delete-56.rst +++ b/source/includes/driver-example-delete-56.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 56 :end-before: End Example 56 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 56 + :end-before: End Example 56 diff --git a/source/includes/driver-example-delete-57.rst b/source/includes/driver-example-delete-57.rst index bc2850f4d7d..0998115156e 100644 --- a/source/includes/driver-example-delete-57.rst +++ b/source/includes/driver-example-delete-57.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 57 :end-before: End Example 57 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 57 + :end-before: End Example 57 diff --git a/source/includes/driver-example-delete-58.rst b/source/includes/driver-example-delete-58.rst index 1986b1db5ea..5050f604601 100644 --- a/source/includes/driver-example-delete-58.rst +++ b/source/includes/driver-example-delete-58.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 58 :end-before: End Example 58 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 58 + :end-before: End Example 58 diff --git a/source/includes/driver-example-delete-result.rst b/source/includes/driver-example-delete-result.rst index 2bc8fed29c2..2bc0603f74e 100644 --- a/source/includes/driver-example-delete-result.rst +++ b/source/includes/driver-example-delete-result.rst @@ -6,10 +6,21 @@ - id: shell content: | The method returns a document with the status of the operation. For - more information and examples, see :method:`~db.collection.deleteMany()`. + more information and examples, see + :method:`~db.collection.deleteMany()`. - id: python content: | The :py:meth:`~pymongo.collection.Collection.delete_many` method returns an instance of - :py:class:`pymongo.results.DeleteResult` with the status of the operation. \ No newline at end of file + :py:class:`pymongo.results.DeleteResult` with the status of the + operation. + + - id: perl + content: | + Upon successful execution, the + :perl-api:`delete_many()` method + returns an instance of + :perl-api:`MongoDB::DeleteResult` whose + ``deleted_count`` attribute contains the number of documents + that matched the filter. diff --git a/source/includes/driver-example-insert-1.rst b/source/includes/driver-example-insert-1.rst index ce1736dca47..154c10e00e7 100644 --- a/source/includes/driver-example-insert-1.rst +++ b/source/includes/driver-example-insert-1.rst @@ -26,3 +26,12 @@ :dedent: 8 :start-after: Start Example 1 :end-before: End Example 1 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 1 + :end-before: End Example 1 diff --git a/source/includes/driver-example-insert-2.rst b/source/includes/driver-example-insert-2.rst index e1c1ef2f275..b0919ab35ee 100644 --- a/source/includes/driver-example-insert-2.rst +++ b/source/includes/driver-example-insert-2.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 2 :end-before: End Example 2 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 2 + :end-before: End Example 2 diff --git a/source/includes/driver-example-insert-3.rst b/source/includes/driver-example-insert-3.rst index 09262a75053..369ca071e00 100644 --- a/source/includes/driver-example-insert-3.rst +++ b/source/includes/driver-example-insert-3.rst @@ -28,3 +28,12 @@ :dedent: 8 :start-after: Start Example 3 :end-before: End Example 3 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 3 + :end-before: End Example 3 diff --git a/source/includes/driver-example-query-10.rst b/source/includes/driver-example-query-10.rst index 53ece0d920a..bec4b56df65 100644 --- a/source/includes/driver-example-query-10.rst +++ b/source/includes/driver-example-query-10.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 10 :end-before: End Example 10 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 10 + :end-before: End Example 10 diff --git a/source/includes/driver-example-query-11.rst b/source/includes/driver-example-query-11.rst index 5af34572d03..72423eaafc9 100644 --- a/source/includes/driver-example-query-11.rst +++ b/source/includes/driver-example-query-11.rst @@ -19,3 +19,12 @@ :dedent: 8 :start-after: Start Example 11 :end-before: End Example 11 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 11 + :end-before: End Example 11 diff --git a/source/includes/driver-example-query-12.rst b/source/includes/driver-example-query-12.rst index c55def8a35b..85cf0def59d 100644 --- a/source/includes/driver-example-query-12.rst +++ b/source/includes/driver-example-query-12.rst @@ -19,3 +19,12 @@ :dedent: 8 :start-after: Start Example 12 :end-before: End Example 12 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 12 + :end-before: End Example 12 diff --git a/source/includes/driver-example-query-13.rst b/source/includes/driver-example-query-13.rst index 0ac78818105..864c077cb57 100644 --- a/source/includes/driver-example-query-13.rst +++ b/source/includes/driver-example-query-13.rst @@ -21,4 +21,13 @@ :language: python :dedent: 8 :start-after: Start Example 13 - :end-before: End Example 13 \ No newline at end of file + :end-before: End Example 13 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 13 + :end-before: End Example 13 diff --git a/source/includes/driver-example-query-14.rst b/source/includes/driver-example-query-14.rst index d934a2695a0..c662c245904 100644 --- a/source/includes/driver-example-query-14.rst +++ b/source/includes/driver-example-query-14.rst @@ -30,3 +30,12 @@ :dedent: 8 :start-after: Start Example 14 :end-before: End Example 14 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 14 + :end-before: End Example 14 diff --git a/source/includes/driver-example-query-15.rst b/source/includes/driver-example-query-15.rst index eaeaa81f817..2af7052edbe 100644 --- a/source/includes/driver-example-query-15.rst +++ b/source/includes/driver-example-query-15.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 15 :end-before: End Example 15 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 15 + :end-before: End Example 15 diff --git a/source/includes/driver-example-query-16.rst b/source/includes/driver-example-query-16.rst index df1bdc9c9a2..a37c449da07 100644 --- a/source/includes/driver-example-query-16.rst +++ b/source/includes/driver-example-query-16.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 16 :end-before: End Example 16 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 16 + :end-before: End Example 16 diff --git a/source/includes/driver-example-query-17.rst b/source/includes/driver-example-query-17.rst index c80a8b9d0a8..9d289145f84 100644 --- a/source/includes/driver-example-query-17.rst +++ b/source/includes/driver-example-query-17.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 17 :end-before: End Example 17 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 17 + :end-before: End Example 17 diff --git a/source/includes/driver-example-query-18.rst b/source/includes/driver-example-query-18.rst index 97fadfee5a2..f45f2b355da 100644 --- a/source/includes/driver-example-query-18.rst +++ b/source/includes/driver-example-query-18.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 18 :end-before: End Example 18 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 18 + :end-before: End Example 18 diff --git a/source/includes/driver-example-query-19.rst b/source/includes/driver-example-query-19.rst index dab53057b1b..40fcedb88a5 100644 --- a/source/includes/driver-example-query-19.rst +++ b/source/includes/driver-example-query-19.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 19 :end-before: End Example 19 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 19 + :end-before: End Example 19 diff --git a/source/includes/driver-example-query-20.rst b/source/includes/driver-example-query-20.rst index 8cd80d79318..d7149c58744 100644 --- a/source/includes/driver-example-query-20.rst +++ b/source/includes/driver-example-query-20.rst @@ -30,3 +30,12 @@ :dedent: 8 :start-after: Start Example 20 :end-before: End Example 20 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 20 + :end-before: End Example 20 diff --git a/source/includes/driver-example-query-21.rst b/source/includes/driver-example-query-21.rst index 5e68403c9a4..534222f52fd 100644 --- a/source/includes/driver-example-query-21.rst +++ b/source/includes/driver-example-query-21.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 21 :end-before: End Example 21 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 21 + :end-before: End Example 21 diff --git a/source/includes/driver-example-query-22.rst b/source/includes/driver-example-query-22.rst index 99f420a3dcf..e7b13008095 100644 --- a/source/includes/driver-example-query-22.rst +++ b/source/includes/driver-example-query-22.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 22 :end-before: End Example 22 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 22 + :end-before: End Example 22 diff --git a/source/includes/driver-example-query-23.rst b/source/includes/driver-example-query-23.rst index 141ceb98152..4082468f735 100644 --- a/source/includes/driver-example-query-23.rst +++ b/source/includes/driver-example-query-23.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 23 :end-before: End Example 23 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 23 + :end-before: End Example 23 diff --git a/source/includes/driver-example-query-24.rst b/source/includes/driver-example-query-24.rst index b460738e7dd..72e1b9dec0a 100644 --- a/source/includes/driver-example-query-24.rst +++ b/source/includes/driver-example-query-24.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 24 :end-before: End Example 24 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 24 + :end-before: End Example 24 diff --git a/source/includes/driver-example-query-25.rst b/source/includes/driver-example-query-25.rst index 285fb167f3b..46ff06dcfa7 100644 --- a/source/includes/driver-example-query-25.rst +++ b/source/includes/driver-example-query-25.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 25 :end-before: End Example 25 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 25 + :end-before: End Example 25 diff --git a/source/includes/driver-example-query-26.rst b/source/includes/driver-example-query-26.rst index 45af5cae8cf..af4868fb71b 100644 --- a/source/includes/driver-example-query-26.rst +++ b/source/includes/driver-example-query-26.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 26 :end-before: End Example 26 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 26 + :end-before: End Example 26 diff --git a/source/includes/driver-example-query-27.rst b/source/includes/driver-example-query-27.rst index b83fbb545e4..9013c5941b0 100644 --- a/source/includes/driver-example-query-27.rst +++ b/source/includes/driver-example-query-27.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 27 :end-before: End Example 27 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 27 + :end-before: End Example 27 diff --git a/source/includes/driver-example-query-28.rst b/source/includes/driver-example-query-28.rst index 04792cf34e6..ad8d63417f5 100644 --- a/source/includes/driver-example-query-28.rst +++ b/source/includes/driver-example-query-28.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 28 :end-before: End Example 28 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 28 + :end-before: End Example 28 diff --git a/source/includes/driver-example-query-29.rst b/source/includes/driver-example-query-29.rst index 5357c5a88b1..5e1fa7027e6 100644 --- a/source/includes/driver-example-query-29.rst +++ b/source/includes/driver-example-query-29.rst @@ -30,3 +30,12 @@ :dedent: 8 :start-after: Start Example 29 :end-before: End Example 29 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 29 + :end-before: End Example 29 diff --git a/source/includes/driver-example-query-30.rst b/source/includes/driver-example-query-30.rst index d28f255e985..ce10b3e8c5c 100644 --- a/source/includes/driver-example-query-30.rst +++ b/source/includes/driver-example-query-30.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 30 :end-before: End Example 30 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 30 + :end-before: End Example 30 diff --git a/source/includes/driver-example-query-31.rst b/source/includes/driver-example-query-31.rst index 4e699de44f0..68069f5cd09 100644 --- a/source/includes/driver-example-query-31.rst +++ b/source/includes/driver-example-query-31.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 31 :end-before: End Example 31 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 31 + :end-before: End Example 31 diff --git a/source/includes/driver-example-query-32.rst b/source/includes/driver-example-query-32.rst index 431434ab9a4..16fd777a9d2 100644 --- a/source/includes/driver-example-query-32.rst +++ b/source/includes/driver-example-query-32.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 32 :end-before: End Example 32 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 32 + :end-before: End Example 32 diff --git a/source/includes/driver-example-query-33.rst b/source/includes/driver-example-query-33.rst index 8f8774a7761..1a88d015124 100644 --- a/source/includes/driver-example-query-33.rst +++ b/source/includes/driver-example-query-33.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 33 :end-before: End Example 33 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 33 + :end-before: End Example 33 diff --git a/source/includes/driver-example-query-34.rst b/source/includes/driver-example-query-34.rst index 731dafede05..5f5baae1c77 100644 --- a/source/includes/driver-example-query-34.rst +++ b/source/includes/driver-example-query-34.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 34 :end-before: End Example 34 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 34 + :end-before: End Example 34 diff --git a/source/includes/driver-example-query-35.rst b/source/includes/driver-example-query-35.rst index 2ccf08e5c46..e464f79b1fa 100644 --- a/source/includes/driver-example-query-35.rst +++ b/source/includes/driver-example-query-35.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 35 :end-before: End Example 35 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 35 + :end-before: End Example 35 diff --git a/source/includes/driver-example-query-36.rst b/source/includes/driver-example-query-36.rst index d133cbadac2..4a5194ff568 100644 --- a/source/includes/driver-example-query-36.rst +++ b/source/includes/driver-example-query-36.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 36 :end-before: End Example 36 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 36 + :end-before: End Example 36 diff --git a/source/includes/driver-example-query-37.rst b/source/includes/driver-example-query-37.rst index 6a8ed58d1cf..eef709a87d1 100644 --- a/source/includes/driver-example-query-37.rst +++ b/source/includes/driver-example-query-37.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 37 :end-before: End Example 37 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 37 + :end-before: End Example 37 diff --git a/source/includes/driver-example-query-38.rst b/source/includes/driver-example-query-38.rst index 0457e092445..4341a65173c 100644 --- a/source/includes/driver-example-query-38.rst +++ b/source/includes/driver-example-query-38.rst @@ -27,3 +27,12 @@ :dedent: 8 :start-after: Start Example 38 :end-before: End Example 38 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 38 + :end-before: End Example 38 diff --git a/source/includes/driver-example-query-39.rst b/source/includes/driver-example-query-39.rst index 5e0a6556be1..98436e626dd 100644 --- a/source/includes/driver-example-query-39.rst +++ b/source/includes/driver-example-query-39.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 39 :end-before: End Example 39 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 39 + :end-before: End Example 39 diff --git a/source/includes/driver-example-query-40.rst b/source/includes/driver-example-query-40.rst index f0bec6f02dd..59f8b0743c0 100644 --- a/source/includes/driver-example-query-40.rst +++ b/source/includes/driver-example-query-40.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 40 :end-before: End Example 40 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 40 + :end-before: End Example 40 diff --git a/source/includes/driver-example-query-41.rst b/source/includes/driver-example-query-41.rst index 8bf57f2fc5b..d066a1dd71d 100644 --- a/source/includes/driver-example-query-41.rst +++ b/source/includes/driver-example-query-41.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 41 :end-before: End Example 41 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 41 + :end-before: End Example 41 diff --git a/source/includes/driver-example-query-42.rst b/source/includes/driver-example-query-42.rst index dcee69587bf..21e3c85a93d 100644 --- a/source/includes/driver-example-query-42.rst +++ b/source/includes/driver-example-query-42.rst @@ -30,3 +30,12 @@ :dedent: 8 :start-after: Start Example 42 :end-before: End Example 42 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 42 + :end-before: End Example 42 diff --git a/source/includes/driver-example-query-43.rst b/source/includes/driver-example-query-43.rst index 48a7ae09b0e..cbe6a923a9b 100644 --- a/source/includes/driver-example-query-43.rst +++ b/source/includes/driver-example-query-43.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 43 :end-before: End Example 43 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 43 + :end-before: End Example 43 diff --git a/source/includes/driver-example-query-44.rst b/source/includes/driver-example-query-44.rst index e0add8e2bca..78d97261c7f 100644 --- a/source/includes/driver-example-query-44.rst +++ b/source/includes/driver-example-query-44.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 44 :end-before: End Example 44 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 44 + :end-before: End Example 44 diff --git a/source/includes/driver-example-query-45.rst b/source/includes/driver-example-query-45.rst index 2e0c0cd9ceb..cf12ef0ef9d 100644 --- a/source/includes/driver-example-query-45.rst +++ b/source/includes/driver-example-query-45.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 45 :end-before: End Example 45 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 45 + :end-before: End Example 45 diff --git a/source/includes/driver-example-query-46.rst b/source/includes/driver-example-query-46.rst index 63adc1b167d..9e06df18380 100644 --- a/source/includes/driver-example-query-46.rst +++ b/source/includes/driver-example-query-46.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 46 :end-before: End Example 46 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 46 + :end-before: End Example 46 diff --git a/source/includes/driver-example-query-47.rst b/source/includes/driver-example-query-47.rst index 5426ccf849b..5ad244f8298 100644 --- a/source/includes/driver-example-query-47.rst +++ b/source/includes/driver-example-query-47.rst @@ -21,3 +21,12 @@ :dedent: 8 :start-after: Start Example 47 :end-before: End Example 47 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 47 + :end-before: End Example 47 diff --git a/source/includes/driver-example-query-48.rst b/source/includes/driver-example-query-48.rst index 85a8e537e0f..609307a0fcb 100644 --- a/source/includes/driver-example-query-48.rst +++ b/source/includes/driver-example-query-48.rst @@ -21,3 +21,12 @@ :dedent: 8 :start-after: Start Example 48 :end-before: End Example 48 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 48 + :end-before: End Example 48 diff --git a/source/includes/driver-example-query-49.rst b/source/includes/driver-example-query-49.rst index 94d22f1c0c0..8316fa9df94 100644 --- a/source/includes/driver-example-query-49.rst +++ b/source/includes/driver-example-query-49.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 49 :end-before: End Example 49 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 49 + :end-before: End Example 49 diff --git a/source/includes/driver-example-query-50.rst b/source/includes/driver-example-query-50.rst index a29af1360cd..63565d8f398 100644 --- a/source/includes/driver-example-query-50.rst +++ b/source/includes/driver-example-query-50.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 50 :end-before: End Example 50 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 50 + :end-before: End Example 50 diff --git a/source/includes/driver-example-query-6.rst b/source/includes/driver-example-query-6.rst index 78c478b843e..804dff04264 100644 --- a/source/includes/driver-example-query-6.rst +++ b/source/includes/driver-example-query-6.rst @@ -30,3 +30,12 @@ :dedent: 8 :start-after: Start Example 6 :end-before: End Example 6 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 6 + :end-before: End Example 6 diff --git a/source/includes/driver-example-query-7.rst b/source/includes/driver-example-query-7.rst index c82e7723505..a5eda95f78f 100644 --- a/source/includes/driver-example-query-7.rst +++ b/source/includes/driver-example-query-7.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 7 :end-before: End Example 7 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 7 + :end-before: End Example 7 diff --git a/source/includes/driver-example-query-9.rst b/source/includes/driver-example-query-9.rst index 8e22af95cc4..114272a5e28 100644 --- a/source/includes/driver-example-query-9.rst +++ b/source/includes/driver-example-query-9.rst @@ -18,3 +18,12 @@ :dedent: 8 :start-after: Start Example 9 :end-before: End Example 9 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 9 + :end-before: End Example 9 diff --git a/source/includes/driver-example-query-intro.rst b/source/includes/driver-example-query-intro.rst index 7e22632c04d..9c66b51482b 100644 --- a/source/includes/driver-example-query-intro.rst +++ b/source/includes/driver-example-query-intro.rst @@ -11,7 +11,6 @@ ``inventory`` collection. To populate the ``inventory`` collection, run the following: - - id: python content: | This page provides examples of |query_operations| using the @@ -20,3 +19,12 @@ Python driver. The examples on this page use the ``inventory`` collection. To populate the ``inventory`` collection, run the following: + + - id: perl + content: | + This page provides examples of |query_operations| using the + :perl-api:`MongoDB::Collection::find()` method + in the + `MongoDB Perl Driver `_. + The examples on this page use the ``inventory`` collection. To + populate the ``inventory`` collection, run the following: diff --git a/source/includes/driver-example-update-51.rst b/source/includes/driver-example-update-51.rst index 84c97f9083e..dda5140341e 100644 --- a/source/includes/driver-example-update-51.rst +++ b/source/includes/driver-example-update-51.rst @@ -35,3 +35,12 @@ :dedent: 8 :start-after: Start Example 51 :end-before: End Example 51 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 51 + :end-before: End Example 51 diff --git a/source/includes/driver-example-update-52.rst b/source/includes/driver-example-update-52.rst index 5f85e57edf2..c8a60225d77 100644 --- a/source/includes/driver-example-update-52.rst +++ b/source/includes/driver-example-update-52.rst @@ -24,3 +24,12 @@ :dedent: 8 :start-after: Start Example 52 :end-before: End Example 52 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 52 + :end-before: End Example 52 diff --git a/source/includes/driver-example-update-53.rst b/source/includes/driver-example-update-53.rst index 28a1082dc5c..d9319c40dc7 100644 --- a/source/includes/driver-example-update-53.rst +++ b/source/includes/driver-example-update-53.rst @@ -24,3 +24,12 @@ :dedent: 8 :start-after: Start Example 53 :end-before: End Example 53 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 53 + :end-before: End Example 53 diff --git a/source/includes/driver-example-update-54.rst b/source/includes/driver-example-update-54.rst index 55a2b96c6c7..1e1be980652 100644 --- a/source/includes/driver-example-update-54.rst +++ b/source/includes/driver-example-update-54.rst @@ -21,3 +21,12 @@ :dedent: 8 :start-after: Start Example 54 :end-before: End Example 54 + + - id: perl + content: | + .. class:: copyable-code + .. literalinclude:: /driver-examples/driver-examples.t + :language: perl + :dedent: 4 + :start-after: Start Example 54 + :end-before: End Example 54 diff --git a/source/tutorial/insert-documents.txt b/source/tutorial/insert-documents.txt index abd77e36c18..8f87b227fa3 100644 --- a/source/tutorial/insert-documents.txt +++ b/source/tutorial/insert-documents.txt @@ -36,7 +36,7 @@ Insert a Single Document :ref:`document` into a collection. The following example inserts a new document into the - ``inventory`` collection. Since the document does not specify + ``inventory`` collection. If the document does not specify an ``_id`` field, MongoDB adds the ``_id`` field with an ObjectId value to the new document. See :ref:`write-op-insert-behavior`. @@ -48,11 +48,23 @@ Insert a Single Document collection. The following example inserts a new document into the - ``inventory`` collection. Since the document does not specify + ``inventory`` collection. If the document does not specify an ``_id`` field, the PyMongo driver adds the ``_id`` field with an ObjectId value to the new document. See :ref:`write-op-insert-behavior`. + - id: perl + content: | + :perl-api:`MongoDB::Collection::insert_one()` + inserts a *single* :ref:`document` into a + collection. + + The following example inserts a new document into the + ``inventory`` collection. If the document does not specify + an ``_id`` field, the Perl driver adds the ``_id`` field + with an ObjectId value to the new document. See + :ref:`write-op-insert-behavior`. + .. include:: /includes/driver-example-insert-1.rst .. tabs:: @@ -72,6 +84,15 @@ Insert a Single Document ``inserted_id`` field contains the ``_id`` of the newly inserted document. + - id: perl + content: | + Upon successful insert, the + :perl-api:`insert_one()` method returns + an instance of + :perl-api:`MongoDB::InsertOneResult` whose + ``inserted_id`` attribute contains the ``_id`` of the newly + inserted document. + To retrieve the document that you just inserted, :ref:`query the collection `: @@ -94,7 +115,7 @@ Insert Multiple Documents array of documents to the method. The following example inserts three new documents into the - ``inventory`` collection. Since the documents do not specify an + ``inventory`` collection. If the documents do not specify an ``_id`` field, MongoDB adds the ``_id`` field with an ObjectId value to each document. See :ref:`write-op-insert-behavior`. @@ -105,10 +126,21 @@ Insert Multiple Documents collection. Pass an iterable of documents to the method. The following example inserts three new documents into the - ``inventory`` collection. Since the documents do not specify an + ``inventory`` collection. If the documents do not specify an ``_id`` field, the PyMongo driver adds the ``_id`` field with an ObjectId value to each document. See :ref:`write-op-insert-behavior`. + - id: perl + content: | + :perl-api:`MongoDB::Collection::insert_many()` + can insert *multiple* :ref:`documents ` into a + collection. Pass an array reference of documents to the method. + + The following example inserts three new documents into the + ``inventory`` collection. If the documents do not specify an + ``_id`` field, the Perl driver adds the ``_id`` field with + an ObjectId value to each document. See :ref:`write-op-insert-behavior`. + .. include:: /includes/driver-example-insert-3.rst .. tabs:: @@ -127,6 +159,15 @@ Insert Multiple Documents whose ``inserted_ids`` field is a list containing the ``_id`` of each newly inserted document. + - id: perl + content: | + Upon successful insert, the + :perl-api:`insert_many()` method + returns an instance of + :perl-api:`MongoDB::InsertManyResult` + whose ``inserted_ids`` attribute is a list containing the + ``_id`` of each newly inserted document. + To retrieve the inserted documents, :ref:`query the collection `: @@ -185,6 +226,16 @@ requested from MongoDB for write operations. For details, see - :ref:`additional-inserts` + - id: perl + content: | + .. seealso:: + + - :perl-api:`MongoDB::Collection::insert_one()` + + - :perl-api:`MongoDB::Collection::insert_many()` + + - :ref:`additional-inserts` + .. class:: hidden .. toctree:: diff --git a/source/tutorial/project-fields-from-query-results.txt b/source/tutorial/project-fields-from-query-results.txt index 477a0a84b06..1216d960632 100644 --- a/source/tutorial/project-fields-from-query-results.txt +++ b/source/tutorial/project-fields-from-query-results.txt @@ -37,6 +37,12 @@ Return All Fields in Matching Documents :py:meth:`~pymongo.collection.Collection.find` method returns all fields in the matching documents. + - id: perl + content: | + If you do not specify a :term:`projection` document, the + :perl-api:`find()` + method returns all fields in the matching documents. + The following example returns all fields from all documents in the ``inventory`` collection where the ``status`` equals ``"A"``: diff --git a/source/tutorial/query-documents.txt b/source/tutorial/query-documents.txt index 7c17400b7f0..f5d3ba4a71a 100644 --- a/source/tutorial/query-documents.txt +++ b/source/tutorial/query-documents.txt @@ -45,6 +45,10 @@ These operation corresponds to the following SQL statement: content: | For more information on the syntax of the method, see :py:meth:`~pymongo.collection.Collection.find`. + - id: perl + content: | + For more information on the syntax of the method, see + :perl-api:`find()`. .. _read-operations-query-argument: @@ -190,6 +194,13 @@ Cursor returns a :doc:`cursor ` to the matching documents. See the PyMongo documentation for `iterating over a cursor `_. + - id: perl + content: | + The :perl-api:`MongoDB::Collection::find()` + method returns a :doc:`cursor ` to + the matching documents. See the MongoDB Perl driver + documentation for + `iterating over a cursor `_. Read Isolation ~~~~~~~~~~~~~~ @@ -250,3 +261,21 @@ The following methods can also read documents from a collection: :py:meth:`pymongo.collection.Collection.find_one` method is the :py:meth:`pymongo.collection.Collection.find` method with a limit of 1. + + - id: perl + content: | + - :perl-api:`MongoDB::Collection::find_one()` + + - In :doc:`aggregation pipeline `, the + :pipeline:`$match` pipeline stage provides access to MongoDB + queries. See the MongoDB Perl driver's + `Aggregation Examples `_. + + .. note:: + The :perl-api:`MongoDB::Collection::find_one()` + method also performs a read operation to return a single + document. Internally, the + :perl-api:`MongoDB::Collection::find_one()` + method is the + :perl-api:`MongoDB::Collection::find()` + method with a limit of 1. diff --git a/source/tutorial/query-for-null-fields.txt b/source/tutorial/query-for-null-fields.txt index 43b86310fc6..9081deda2d3 100644 --- a/source/tutorial/query-for-null-fields.txt +++ b/source/tutorial/query-for-null-fields.txt @@ -21,6 +21,12 @@ Different query operators in MongoDB treat ``null`` values differently. You must use ``None`` with the PyMongo Python driver to query for ``null`` or missing fields in MongoDB. + - id: perl + content: | + .. important:: + You must use ``undef`` with the MongoDB Perl driver to + query for ``null`` or missing fields in MongoDB. + .. include:: /includes/driver-example-query-38.rst .. _faq-comparison-with-null: @@ -43,6 +49,12 @@ Equality Filter contain the ``item`` field whose value is ``null`` *or* that do not contain the ``item`` field. + - id: perl + content: | + The ``{ item => undef }`` query matches documents that either + contain the ``item`` field whose value is ``null`` *or* that + do not contain the ``item`` field. + For example, the following query returns both documents: .. include:: /includes/driver-example-query-39.rst @@ -76,6 +88,11 @@ Existence Check The ``{ item : { $exists: False } }`` query matches documents that do not contain the ``item`` field: + - id: perl + content: | + The ``{ item : { $exists: false } }`` query matches documents + that do not contain the ``item`` field: + .. include:: /includes/driver-example-query-41.rst The query returns only the document that does *not* contain the diff --git a/source/tutorial/remove-documents.txt b/source/tutorial/remove-documents.txt index 1f7d3f7d4ca..f424060c9dc 100644 --- a/source/tutorial/remove-documents.txt +++ b/source/tutorial/remove-documents.txt @@ -31,7 +31,16 @@ Delete Documents - :py:meth:`pymongo.collection.Collection.delete_many` - :py:meth:`pymongo.collection.Collection.delete_one` + + - id: perl + content: | + This page provides examples of delete operations using the + following methods in the + `MongoDB Perl Driver `_: + - :perl-api:`MongoDB::Collection::delete_many()` + - :perl-api:`MongoDB::Collection::delete_one()` + The examples on this page use the ``inventory`` collection. To populate the ``inventory`` collection, run the following: @@ -57,6 +66,13 @@ Delete All Documents :ref:`filter` document ``{}`` to the :py:meth:`pymongo.collection.Collection.delete_many` method. + - id: perl + content: | + To remove all documents from a collection, pass an empty + :ref:`filter` document ``{}`` to the + :perl-api:`MongoDB::Collection::delete_many()` + method. + The following example deletes *all* documents from the ``inventory`` collection: @@ -90,6 +106,13 @@ syntax as read operations: :ref:`filter ` parameter to the :py:meth:`~pymongo.collection.Collection.delete_many` method. + - id: perl + content: | + To delete all documents that match a deletion criteria, pass a + :ref:`filter ` parameter to the + :perl-api:`delete_many()` + method. + The following example removes all documents from the ``inventory`` collection where the ``status`` field equals ``"A"``: @@ -116,6 +139,13 @@ Remove Only One Document that Matches a Condition filter) use the :py:meth:`pymongo.collection.Collection.delete_one` method. + - id: perl + content: | + To delete at most a single document that matches a specified + filter (even though multiple documents may match the specified + filter) use the + :perl-api:`MongoDB::Collection::delete_one()` method. + The following example deletes the *first* document where ``status`` is ``"D"``. @@ -170,6 +200,16 @@ requested from MongoDB for write operations. For details, see - :ref:`additional-deletes` + - id: perl + content: | + .. seealso:: + + - :perl-api:`MongoDB::Collection::delete_many()` + + - :perl-api:`MongoDB::Collection::delete_one()` + + - :ref:`additional-deletes` + .. class:: hidden .. toctree:: diff --git a/source/tutorial/update-documents.txt b/source/tutorial/update-documents.txt index 6eaf1babdf0..9ac8f3bab31 100644 --- a/source/tutorial/update-documents.txt +++ b/source/tutorial/update-documents.txt @@ -38,6 +38,17 @@ Update Documents - :py:meth:`pymongo.collection.Collection.replace_one` + - id: perl + content: | + This page provides examples of how to update documents using the + following methods in the `MongoDB Perl Driver `_: + + - :perl-api:`MongoDB::Collection::update_one()` + + - :perl-api:`MongoDB::Collection::update_many()` + + - :perl-api:`MongoDB::Collection::replace_one()` + The examples on this page use the ``inventory`` collection. To create and/or populate the ``inventory`` collection, run the following: @@ -87,6 +98,13 @@ Update a Single Document the ``inventory`` collection to update the *first* document where ``item`` equals ``"paper"``: + - id: perl + content: | + The following example uses the + :perl-api:`update_one()` method on the + ``inventory`` collection to update the *first* document where + ``item`` equals ``"paper"``: + .. include:: /includes/driver-example-update-52.rst The update operation: @@ -124,6 +142,13 @@ Update Multiple Documents the ``inventory`` collection to update all documents where ``qty`` is less than ``50``: + - id: perl + content: | + The following example uses the + :perl-api:`update_many()` method on + the ``inventory`` collection to update all documents where + ``qty`` is less than ``50``: + .. include:: /includes/driver-example-update-53.rst The update operation: @@ -155,6 +180,12 @@ Replace a Document field, pass an entirely new document as the second argument to :py:meth:`~pymongo.collection.Collection.replace_one`. + - id: perl + content: | + To replace the entire content of a document except for the ``_id`` + field, pass an entirely new document as the second argument to + :perl-api:`replace_one()`. + When replacing a document, the replacement document must consist of only `` : `` pairs; i.e. do not include :manual:`update operators @@ -228,6 +259,16 @@ Field Order it. If there are matching documents, then the operation modifies or replaces the matching document or documents. + - id: perl + content: | + If :perl-api:`update_one()`, + :perl-api:`update_many()`, or + :perl-api:`replace_one()` includes + ``upsert : true`` **and** no documents match the specified + filter, then the operation creates a new document and inserts + it. If there are matching documents, then the operation + modifies or replaces the matching document or documents. + For details on the new document created, see the individual reference pages for the methods. @@ -267,6 +308,18 @@ requested from MongoDB for write operations. For details, see - :ref:`additional-updates` + - id: perl + content: | + .. seealso:: + + - :perl-api:`MongoDB::Collection::update_one()` + + - :perl-api:`MongoDB::Collection::update_many()` + + - :perl-api:`MongoDB::Collection::replace_one()` + + - :ref:`additional-updates` + .. class:: hidden .. toctree::