[英]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.