在 MongoDB 中对同一字段 _id 执行 $gte 和 $lt

Perform $gte and $lt on the same field _id in MongoDB

db.comments.find({"_id" : {"$gte": ObjectId("6225f932a7bce76715a9f3bd"), "$lt":ObjectId("6225f932a7bce76715a9f3bd")}}).sort({"created_datetime":1}).limit(10).pretty()

我正在使用这个查询,它应该给我当前的“6225f932a7bce76715a9f3bd”文档,在此之前插入 4 个文档,在此之后插入 5 个文档。但是目前当我 运行 这个查询时,我得到空结果。我哪里错了??

我别无选择,只能将查询分开以实现我的期望。

        query = request.args.to_dict()
        find_query = {}
        find_query["_id"] = {"$lt": ObjectId(query["comment_id"])}
        previous_comments = list(db.comments.find(find_query))
        find_query["_id"] = {"$gte": ObjectId(query["comment_id"])}
        next_comments =  list(db.comments.find(find_query))
        previous_comments.extend(next_comments)
        return {"comments":previous_comments}