Beanie and Motor-Based MongoDB Log Entry Randomization

  • Share this:

Code introduction


This function uses the Beanie and Motor libraries to create a MongoDB database connection, defines a simple model LogEntry, inserts a random log entry, and returns the most recent log entry.


Technology Stack : Beanie, Motor, MongoDB, AsyncIOMotorClient, datetime

Code Type : Function

Code Difficulty : Intermediate


                
                    
def randomize_beanie_data(arg1, arg2, arg3):
    import beanie
    from motor.motor_asyncio import AsyncIOMotorClient
    from datetime import datetime

    # Define a simple Beanie model
    class LogEntry(beanie.Document):
        timestamp: datetime
        message: str
        user_id: str

    # Create a MongoDB client and database connection
    client = AsyncIOMotorClient('localhost', 27017)
    db = client['beanie_test']

    # Insert a random log entry
    log_entry = LogEntry(timestamp=datetime.now(), message=f"User {arg1} logged in", user_id=arg2)
    log_entry.save_to_mongo(db)

    # Query the database for the last entry
    last_entry = db.LogEntry.find_one(sort=[("timestamp", -1)])
    return last_entry