Merge branch 'master' of github.com:MongoEngine/mongoengine into support-elemmatch-projection
This commit is contained in:
		
							
								
								
									
										1
									
								
								AUTHORS
									
									
									
									
									
								
							
							
						
						
									
										1
									
								
								AUTHORS
									
									
									
									
									
								
							| @@ -255,3 +255,4 @@ that much better: | ||||
|  * Filip Kucharczyk (https://github.com/Pacu2) | ||||
|  * Eric Timmons (https://github.com/daewok) | ||||
|  * Matthew Simpson (https://github.com/mcsimps2) | ||||
|  * Leonardo Domingues (https://github.com/leodmgs) | ||||
|   | ||||
| @@ -7,6 +7,7 @@ Development | ||||
| =========== | ||||
| - (Fill this out as you fix issues and develop your features). | ||||
| - Add Mongo 4.0 to Travis | ||||
| - Fixed a bug causing inaccurate query results, while combining ``__raw__`` and regular filters for the same field #2264 | ||||
|  | ||||
| Changes in 0.19.1 | ||||
| ================= | ||||
|   | ||||
| @@ -56,7 +56,7 @@ class InvalidCollectionError(Exception): | ||||
|  | ||||
|  | ||||
| class EmbeddedDocument(six.with_metaclass(DocumentMetaclass, BaseDocument)): | ||||
|     """A :class:`~mongoengine.Document` that isn't stored in its own | ||||
|     r"""A :class:`~mongoengine.Document` that isn't stored in its own | ||||
|     collection.  :class:`~mongoengine.EmbeddedDocument`\ s should be used as | ||||
|     fields on :class:`~mongoengine.Document`\ s through the | ||||
|     :class:`~mongoengine.EmbeddedDocumentField` field type. | ||||
| @@ -332,7 +332,7 @@ class Document(six.with_metaclass(TopLevelDocumentMetaclass, BaseDocument)): | ||||
|     ): | ||||
|         """Save the :class:`~mongoengine.Document` to the database. If the | ||||
|         document already exists, it will be updated, otherwise it will be | ||||
|         created. | ||||
|         created. Returns the saved object instance. | ||||
|  | ||||
|         :param force_insert: only try to create a new document, don't allow | ||||
|             updates of existing documents. | ||||
|   | ||||
| @@ -694,8 +694,8 @@ class BaseQuerySet(object): | ||||
|     def in_bulk(self, object_ids): | ||||
|         """Retrieve a set of documents by their ids. | ||||
|  | ||||
|         :param object_ids: a list or tuple of ``ObjectId``\ s | ||||
|         :rtype: dict of ObjectIds as keys and collection-specific | ||||
|         :param object_ids: a list or tuple of ObjectId's | ||||
|         :rtype: dict of ObjectId's as keys and collection-specific | ||||
|                 Document subclasses as values. | ||||
|  | ||||
|         .. versionadded:: 0.3 | ||||
| @@ -1140,7 +1140,7 @@ class BaseQuerySet(object): | ||||
|  | ||||
|     def explain(self): | ||||
|         """Return an explain plan record for the | ||||
|         :class:`~mongoengine.queryset.QuerySet`\ 's cursor. | ||||
|         :class:`~mongoengine.queryset.QuerySet` cursor. | ||||
|         """ | ||||
|         return self._cursor.explain() | ||||
|  | ||||
|   | ||||
| @@ -169,9 +169,9 @@ def query(_doc_cls=None, **kwargs): | ||||
|  | ||||
|         key = ".".join(parts) | ||||
|  | ||||
|         if op is None or key not in mongo_query: | ||||
|         if key not in mongo_query: | ||||
|             mongo_query[key] = value | ||||
|         elif key in mongo_query: | ||||
|         else: | ||||
|             if isinstance(mongo_query[key], dict) and isinstance(value, dict): | ||||
|                 mongo_query[key].update(value) | ||||
|                 # $max/minDistance needs to come last - convert to SON | ||||
|   | ||||
| @@ -65,7 +65,7 @@ class ComplexDateTimeFieldTest(MongoDBTestCase): | ||||
|         for values in itertools.product([2014], mm, dd, hh, ii, ss, microsecond): | ||||
|             stored = LogEntry(date=datetime.datetime(*values)).to_mongo()["date"] | ||||
|             assert ( | ||||
|                 re.match("^\d{4},\d{2},\d{2},\d{2},\d{2},\d{2},\d{6}$", stored) | ||||
|                 re.match(r"^\d{4},\d{2},\d{2},\d{2},\d{2},\d{2},\d{6}$", stored) | ||||
|                 is not None | ||||
|             ) | ||||
|  | ||||
| @@ -74,7 +74,7 @@ class ComplexDateTimeFieldTest(MongoDBTestCase): | ||||
|             "date_with_dots" | ||||
|         ] | ||||
|         assert ( | ||||
|             re.match("^\d{4}.\d{2}.\d{2}.\d{2}.\d{2}.\d{2}.\d{6}$", stored) is not None | ||||
|             re.match(r"^\d{4}.\d{2}.\d{2}.\d{2}.\d{2}.\d{2}.\d{6}$", stored) is not None | ||||
|         ) | ||||
|  | ||||
|     def test_complexdatetime_usage(self): | ||||
|   | ||||
| @@ -24,6 +24,12 @@ class TestTransform(unittest.TestCase): | ||||
|         } | ||||
|         assert transform.query(friend__age__gte=30) == {"friend.age": {"$gte": 30}} | ||||
|         assert transform.query(name__exists=True) == {"name": {"$exists": True}} | ||||
|         assert transform.query(name=["Mark"], __raw__={"name": {"$in": "Tom"}}) == { | ||||
|             "$and": [{"name": ["Mark"]}, {"name": {"$in": "Tom"}}] | ||||
|         } | ||||
|         assert transform.query(name__in=["Tom"], __raw__={"name": "Mark"}) == { | ||||
|             "$and": [{"name": {"$in": ["Tom"]}}, {"name": "Mark"}] | ||||
|         } | ||||
|  | ||||
|     def test_transform_update(self): | ||||
|         class LisDoc(Document): | ||||
|   | ||||
		Reference in New Issue
	
	Block a user