Pollux Logo

Omniverse와 MongoDB를 연동하여 사용자 데이터를 저장하고 조회하는 방법

Omniverse와 MongoDB를 연동하여 사용자 데이터를 저장하고 조회하는 방법

실시간 시뮬레이션 플랫폼인 NVIDIA Omniverse는 다양한 외부 시스템과의 연동을 통해 더욱 확장성 있는 워크플로우를 구성할 수 있습니다.

이번 글에서는 Omniverse에서 생성한 사용자 인터페이스(UI)를 통해 사용자 프로필 정보를 입력받고, 이를 MongoDB에 저장 및 조회하는 기능을 구현한 사례를 소개합니다.

이 과정은 다음과 같은 단계로 구성됩니다:

  • Omniverse Extension 개발
  • Python 패키지 설치
  • MongoDB 연결
  • UI 생성 및 동작 처리

Visual Studio Code와 연동해 Extension 템플릿을 만들고, 사용자 정의 기능을 구현하는 형태로 진행됩니다.

1. Omniverse Code 실행 및 Extension 생성

Omniverse Launcher를 통해 Omniverse Code를 설치하고 실행합니다.

Image

이후 확장 기능(Extension)을 생성하기 위해 Extension 템플릿을 구성하고, VS Code와 연동하여 사용자 정의 스크립트를 작성할 수 있습니다.

Image
이 단계에서는 Omniverse에서 제공하는 템플릿 확장 구조를 활용해 기본적인 UI와 로직을 빠르게 구성할 수 있습니다.

2. Python 외부 패키지 설치: pymongo

Omniverse에서 MongoDB를 사용하려면 Python의 pymongo 라이브러리가 필요합니다.

Omniverse는 독립된 Python 환경을 사용하므로, 해당 환경에서 별도로 패키지를 설치해야 합니다.

Image

예를 들어:

Image
설치가 되지 않은 경우, Omniverse Extension 실행 시 No module named 'pymongo' 오류가 발생하게 됩니다.
Image

3. MongoDB 연결

MongoDB와 연결하기 위해 pymongoMongoClient를 사용합니다.

예시에서는 localhost에서 실행 중인 MongoDB 서버에 연결하고, "mydatabase" 데이터베이스의 "users" 컬렉션을 사용합니다.

Image

4. Omniverse UI를 통한 사용자 정보 입력

사용자 정보를 입력받기 위한 UI는 omni.ui API를 활용해 구성합니다.

UI에는 이름(Name), 나이(Age), 전화번호(Phone) 필드와 'Submit' 버튼이 포함되어 있습니다.

ImageImage
이 UI는 사용자가 직접 정보를 입력하고, 해당 데이터를 MongoDB에 저장하는 출발점입니다.

5. MongoDB에 사용자 정보 저장

‘Submit’ 버튼 클릭 시 호출되는 on_submit() 함수에서는 입력받은 데이터를 MongoDB에 저장합니다.

ImageImageImage
입력된 값은 users 컬렉션에 문서로 저장되며, 저장 결과는 UI에 텍스트로 출력됩니다.

6. 사용자 정보 검색 기능 추가

MongoDB에 저장된 데이터를 조회하기 위한 UI도 함께 구성되어 있습니다.

이 UI는 검색 필드와 'Search' 버튼, 그리고 결과 표시 영역으로 이루어져 있습니다.

ImageImage

7. MongoDB에서 사용자 프로필 조회 및 UI 출력

입력된 이름 값을 기준으로 MongoDB에서 사용자 정보를 조회하고, UI에 표시하는 기능입니다.

ImageImageImage
검색된 결과가 실시간으로 화면에 반영되며, 없는 경우에는 "User not found." 메시지가 출력됩니다.

8. 전체 시연 흐름 요약

  • 사용자 입력 화면에서 이름/나이/전화번호를 입력
  • MongoDB에 저장 (users 컬렉션)
  • 검색 화면에서 이름으로 사용자 프로필 조회
  • 조회된 결과를 Omniverse UI에 실시간 출력

마무리

이번 사례는 Omniverse의 UI 기능과 MongoDB를 연동하여 사용자 데이터를 실시간으로 처리하는 방법을 보여줍니다.

단순한 정보 입력과 검색 기능이지만, 이러한 구조는 향후 디지털 트윈, 사용자 기반 시뮬레이션, IoT 연동 시스템으로 확장될 수 있는 기반이 됩니다.

또한, REST API, WebSocket, JSON 기반 외부 시스템과의 연결을 통해 더 복잡한 데이터 흐름을 구현할 수 있습니다.

이 글 공유하기:

Copyright 2025. POLLUX All rights reserved.