例如。。在MongoDB中..

> db.test.findOne({}, {'mapField.FREE':1})
{
    "_id" : ObjectId("4fb7b248c450190a2000006a"),
    "mapField" : {
            "BOXFLUX" : {
                    "a" : "f",
            }
    }
}

“mapfield”字段由mongoengine的mapfield组成。
“mapfield”字段有一个键和数据的日志。但我只找到了“盒子通量”…
此查询在MongoEngine中不起作用….
例如。。
BoxfluxDocument.objects( ~~ querying ~~ ).only('mapField.BOXFLUX')

如你所见…
only('mapfield.boxflux')或only('mapfield\uu boxflux')不起作用。
它检索所有“mapfield”数据,包括“boxflux”一个。
如何仅检索mapfield的字段????

最佳答案

我看这有张票:https://github.com/hmarr/mongoengine/issues/508
对我来说,这里有一个示例测试用例:

def test_only_with_mapfields(self):

    class BlogPost(Document):
        content = StringField()
        author = MapField(field=StringField())

    BlogPost.drop_collection()

    post = BlogPost(content='Had a good coffee today...',
                    author={'name': "Ross", "age": "20"}).save()

    obj = BlogPost.objects.only('author__name',).get()

    self.assertEquals(obj.author['name'], "Ross")
    self.assertEquals(obj.author.get("age", None), None)

关于python - Mongoengine,仅重新获得一些MapField,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10679458/

10-11 21:49