python操作mongodb 查询、更新

我有这样一个嵌入式文档(python 操作mongoEngine)

    class price2(EmbeddedDocument):
        name = StringField(required=True)
        market = StringField(required=True)
        date = StringField(required=True)
        average = StringField(required=True)
        week_price = StringField(default=None)

    class price1(Document):
        price = EmbeddedDocumentField(price2)

我现在需要通过

name = StringField(required=True)
market = StringField(required=True)
date = StringField(required=True)
average = StringField(required=True)

中任意一个字段(或者其它方法)查询以及更新,数据库里的数据格式如下:

{
    "_id" : ObjectId("59a63fdfac7a4f1740cdbed0"),
    "price" : {
        "name" : "白菜",
        "market" : "成都市...",
        "date" : "2017-08-30",
        "average" : "4.00元/公斤",
        "week_price" : ""
    }
}

各位大神,求帮助啊,谢谢

注:刚开始准备将所有查询、更新等操作封装在一个类里,没找到解决办法,不得已改为一下方法:

cate = price2(price_name=name,price_market=market)
result = price1.object.filter(price=cate)

price 是price1中的price字段

mongoengine:https://segmentfault.com/a/1190000008025156

查询结果转换成字典:user = User.objects.filter(raw={‘username’: ‘tm’}).first().to_mongo()

MongoDB配置成本地服务:
1、mongo.log
2、mongo.config:
dbpath=D:\mongodb\data\db
logpath=D:\mongodb\log\mongo.log
3、管理员方式启动命令行(到mongodb 的bin目录下):
mongod –config D:\mongodb\mongo.config –install –serviceName “MongoDB” –journal
ps:–是两条英文“-”

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值