【问题标题】:How to get the data updated with pymongo如何使用 pymongo 更新数据
【发布时间】:2018-08-04 04:53:06
【问题描述】:

这是我的代码:

results = db.products.update_many({"brandReference": idMongoToReplace}, {'$set': {'brandReference':idMongoToUse}},ReturnDocument.AFTER)
pprint(results)

我想要一个包含更新对象的数组。 (在 mongo 中操作没问题,但我想取回更新的对象)

暂时我有一个:

<pymongo.results.UpdateResult object at 0x7f9d913ad208>

【问题讨论】:

  • 看起来有点像 REPL 中的 sqlite。它正在向您返回一个游标对象。你检查过数据库是否更新了吗?
  • @roganjosh 数据库已更新,但我希望对象更新
  • 我不知道这是什么意思,抱歉。
  • 如果您要查看更新了哪些记录,您甚至在执行语句/查询之前就已获得该信息?唯一的问题是您对数据库的更改是否有效。我不确定你还想看什么。

标签: python python-3.x mongodb pymongo


【解决方案1】:

你从光标中提取结果,像这样:

results = db.products.update_many({"brandReference": idMongoToReplace}, {'$set': {'brandReference':idMongoToUse}},ReturnDocument.AFTER)
for doc in results: 
    pprint(doc)

或将光标变成这样的列表:

results = list(db.products.update_many({"brandReference": idMongoToReplace}, {'$set': {'brandReference':idMongoToUse}},ReturnDocument.AFTER))
pprint(results)

How can I return an array of mongodb objects in pymongo (without a cursor)? Can MapReduce do this?

【讨论】:

    猜你喜欢
    • 2017-04-08
    • 2012-11-22
    • 2013-08-21
    • 2014-06-13
    • 1970-01-01
    • 1970-01-01
    • 2021-06-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多