簡體   English   中英

僅使用 Pymongo 獲取關於(時間或 ID)的最新文檔

[英]Get latest Document with respect to (time or Id) using Pymongo only

在 MongoDB 中,該技術通常用於獲取關於(時間或 ID)的最新文檔:

 db.collection.find().sort({ "_id": -1 }).limit(1);

 MySchema.find().sort({ _id: -1 }).limit(1)

db.getLastInsertedDocument.find({}).sort({_id:-1}).limit(1);

但是當我使用 pymongo 在我的集合中查找最新條目時,下面的代碼會出錯。

from pymongo import MongoClient

import random
import datetime
import time
import pprint
from datetime import datetime
#from bson import ObjectId

client = MongoClient()
client = MongoClient('localhost', 27017)
db = client.sensor_temperature # createdb
posts = db.posts2
print('Total Record for the collection: ' + str(posts.count()))

x=datetime.now().strftime("%H:%M:%S")

record=posts.find().sort({ "_id": -1 }).limit(1)  ###  ERR
#record=posts.find({"start_date":new Date()}).pretty() ####  ERR
#record=posts.findOne({"_id": x}) #### <pymongo.cursor.Cursor object at 0x0141FCD0>
pprint.pprint(record)
text=record
print(text)

如何僅使用 Pymongo 獲取最新記錄?

某些 pymongo 驅動程序命令與 mongodb shell 不完全匹配。 該文檔解釋了方法調用。 這應該有效:

from pymongo import MongoClient, DESCENDING
<...>
record=posts.find().sort('_id', DESCENDING).limit(1)
pprint.pprint(list(record)[0])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM