pymongo从find中提取objectID

2024-05-23 19:08:53 发布

您现在位置:Python中文网/ 问答频道 /正文

你好,我有以下mongodb集合:

> db.attributes.find().pretty()
{
    "_id" : ObjectId("53a4445fd901f278f8685b91"),
    "values" : [
        {
            "code" : "AQ",
            "pmsCode" : "638c",
            "name" : {
                "en-UK" : "Aqua"
            },
            "tcxCode" : "16-4529 TCX",
            "hexCode" : "#00aed8",
            "images" : [
                "AQ.jpg"
            ],
            "_id" : ObjectId("53a4445fd901f278f8685b17")
        },
        {
            "code" : "AQ",
            "pmsCode" : "3115c",
            "name" : {
                "en-UK" : "Aqua"
            },
            "tcxCode" : "",
            "hexCode" : "#00c4db",
            "images" : [
                "AQ.jpg"
            ],
            "_id" : ObjectId("53a4445fd901f278f8685b18")
        }],
    "name" : {
        "en-UK" : "Colour"
    }
}
{
    "_id" : ObjectId("53a4445fd901f278f8685bac"),
    "values" : [
        {
            "code" : 0,
            "_id" : ObjectId("53a4445fd901f278f8685b92"),
            "name" : {
                "en-UK" : "0-3 MTHS"
            }
        },      {
            "code" : 0,
            "_id" : ObjectId("53a4445fd901f278f8685b93"),
            "name" : {
                "en-UK" : "ONE SIZE"
            }
        }
,
    "name" : {
        "en-UK" : "Size"
    }
}

基本上是一个集合,它有两个对象Colour和{},它们有子对象values

使用pymongo查找特定的ObjectId值代码的正确方法是什么?在

我有这个attribute_id = attributes.find({"values.code": product_color_code}),但如何从中提取实际的ObjectID?在

任何建议都非常感谢。在


Tags: nameidcodefindattributesenvaluesimages
1条回答
网友
1楼 · 发布于 2024-05-23 19:08:53

你可以尝试使用SQL的select _id from table_name GROUP BY _id HAVING some_condition_on_colout方法

在使用python的mongodb中,可以执行以下操作

ideas.aggregate([
    {"$match": {'colour':'some_Color_of_ur_choice' }},
    {'$group':{'_id': "$_id",'count':{"$sum": 1 } }}
    ])

这将有助于你甚至根据物体的颜色来计算颜色的出现次数

相关问题 更多 >