PyMongo支持子场投影

时间:2017-04-04 12:18:18

标签: python pymongo

在MongoDB中,我可以在子字段上执行projections。例如,db.collection.find({},{"field.subfield":1, "_id":0})将返回所有文档并仅显示指定的子字段,并隐藏输出中的任何其他字段。

PyMongo进行support预测,但似乎不适用于子字段。下面给出了一个示例代码。

from pymongo import MongoClient
client = MongoDB()
client.db.collection.find(projection=['field1','field2.subfield'])

所以我的问题是:PyMongo是否支持子场预测?如果是,那么正确的语法是什么?

1 个答案:

答案 0 :(得分:2)

适合我:

$(document).ready(function () {
    $('#myform').on('submit', function(e) {
        e.preventDefault();
        $.ajax({
            url : $(this).attr('action') ||     window.location.pathname,
            type: "GET",
            data: $(this).serialize(),
            success: function (data) {
                $("#form_output").html(data);
            },
            error: function (jXHR, textStatus, errorThrown) {
                alert(errorThrown);
            }
        });
    });
});

打印:

from pymongo import MongoClient
client = MongoClient()
client.db.collection.drop()
client.db.collection.insert_one({
    'field1': 1,
    'field2': {
        'subfield': 'sub',
        'othersubfield' : 'othersub'
    }
})

print(list(client.db.collection.find(projection=['field1','field2.subfield'])))

你会观察到" othersubfield"是否包含 ,因为它已从投影中省略。