Sửa lỗi MongoParseError "useNewUrlParser is not supported" trong Next.js App Router

05 tháng 4, 2026·3 phút đọc

Khi phát triển ứng dụng Next.js App Router kết nối với MongoDB, bạn có thể gặp lỗi "MongoParseError: option useNewUrlParser is not supported". Nguyên nhân là các tùy chọn cũ này đã bị loại bỏ trong phiên bản driver mới, nhưng vẫn được dùng trong các bài hướng dẫn cũ. Bài viết này sẽ giải thích nguyên nhân và cung cấp giải pháp đơn giản là xóa bỏ các tùy chọn không cần thiết để kết nối hoạt động bình thường.

Sửa lỗi MongoParseError "useNewUrlParser is not supported" trong Next.js App Router

Khi xây dựng dự án Next.js App Router kết nối với MongoDB, tôi đã gặp lỗi này:

<div class="highlight js-code-highlight"> <pre class="highlight plaintext"><code>MongoParseError: option useNewUrlParser is not supported </code></pre> </div>

Ban đầu có vẻ khó hiểu, đặc biệt nếu bạn đang theo các tutorial cũ. Dưới đây là giải thích đơn giản về vấn đề và cách khắc phục.

❌ Vấn đề

Nếu bạn đang dùng đoạn mã sau:

<div class="highlight js-code-highlight"> <pre class="highlight javascript"><code><span class="kd">const</span> <span class="nx">options</span> <span class="o">=</span> <span class="p">{</span> <span class="na">useNewUrlParser</span><span class="p">:</span> <span class="kc">true</span><span class="p">,</span> <span class="na">useUnifiedTopology</span><span class="p">:</span> <span class="kc">true</span><span class="p">,</span> <span class="p">};</span>

<span class="kd">const</span> <span class="nx">client</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">MongoClient</span><span class="p">(</span><span class="nx">uri</span><span class="p">,</span> <span class="nx">options</span><span class="p">);</span> </code></pre>

</div>

👉 Bạn sẽ gặp lỗi:

<div class="highlight js-code-highlight"> <pre class="highlight plaintext"><code>MongoParseError: option useNewUrlParser is not supported </code></pre> </div>

🧠 Tại sao lại xảy ra

Lỗi này xảy ra vì:

  • MongoDB cũ (trước 2021) sử dụng các tùy chọn này.
  • Trong MongoDB Node.js Driver phiên bản 4 trở lên, các tùy chọn này đã bị xóa bỏbật mặc định bên trong.

Do đó, việc truyền chúng thủ công bây giờ sẽ làm hỏng kết nối.

✅ Giải pháp (Đơn giản)

Chỉ cần xóa hoàn toàn các tùy chọn.

✔️ Mã đúng

<div class="highlight js-code-highlight"> <pre class="highlight javascript"><code><span class="kd">const</span> <span class="nx">client</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">MongoClient</span><span class="p">(</span><span class="nx">uri</span><span class="p">);</span> </code></pre> </div>

Đó là tất cả. Không cần cấu hình thêm.

📁 Ví dụ đầy đủ (lib/mongodb.js)

Dưới đây là ví dụ hoàn chỉnh mà bạn có thể sử dụng:

<div class="highlight js-code-highlight"> <pre class="highlight javascript"><code><span class="k">import</span> <span class="p">{</span> <span class="nx">MongoClient</span> <span class="p">}</span> <span class="k">from</span> <span class="dl">'</span><span class="s1">mongodb</span><span class="dl">'</span><span class="p">;</span> <span class="kd">const</span> <span class="nx">uri</span> <span class="o">=</span> <span class="nx">process</span><span class="p">.</span><span class="nx">env</span><span class="p">.</span><span class="nx">MONGODB_URI</span><span class="p">;</span> <span class="kd">let</span> <span class="nx">client</span><span class="p">;</span> <span class="kd">let</span> <span class="nx">clientPromise</span><span class="p">;</span> <span class="k">if </span><span class="p">(</span><span class="o">!</span><span class="nx">process</span><span class="p">.</span><span class="nx">env</span><span class="p">.</span><span class="nx">MONGODB_URI</span><span class="p">)</span> <span class="p">{</span> <span class="k">throw</span> <span class="k">new</span> <span class="nc">Error</span><span class="p">(</span><span class="dl">'</span><span class="s1">Add Mongo URI to .env.local</span><span class="dl">'</span><span class="p">);</span> <span class="p">}</span> <span class="k">if </span><span class="p">(</span><span class="nx">process</span><span class="p">.</span><span class="nx">env</span><span class="p">.</span><span class="nx">NODE_ENV</span> <span class="o">===</span> <span class="dl">'</span><span class="s1">development</span><span class="dl">'</span><span class="p">)</span> <span class="p">{</span> <span class="k">if </span><span class="p">(</span><span class="o">!</span><span class="nb">global</span><span class="p">.</span><span class="nx">_mongoClientPromise</span><span class="p">)</span> <span class="p">{</span> <span class="nx">client</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">MongoClient</span><span class="p">(</span><span class="nx">uri</span><span class="p">);</span> <span class="nb">global</span><span class="p">.</span><span class="nx">_mongoClientPromise</span> <span class="o">=</span> <span class="nx">client</span><span class="p">.</span><span class="nf">connect</span><span class="p">();</span> <span class="p">}</span> <span class="nx">clientPromise</span> <span class="o">=</span> <span class="nb">global</span><span class="p">.</span><span class="nx">_mongoClientPromise</span><span class="p">;</span> <span class="p">}</span> <span class="k">else</span> <span class="p">{</span> <span class="nx">client</span> <span class="o">=</span> <span class="k">new</span> <span class="nc">MongoClient</span><span class="p">(</span><span class="nx">uri</span><span class="p">);</span> <span class="nx">clientPromise</span> <span class="o">=</span> <span class="nx">client</span><span class="p">.</span><span class="nf">connect</span><span class="p">();</span> <span class="p">}</span> <span class="k">export</span> <span class="k">default</span> <span class="nx">clientPromise</span><span class="p">;</span> </code></pre> </div>

⚠️ Kiểm tra quan trọng

Trước khi chạy ứng dụng, hãy đảm bảo:

  • <code>.env.local</code> được cấu hình đúng cú pháp:

    <div class="highlight js-code-highlight"> <pre class="highlight properties"><code><span class="py">MONGODB_URI</span><span class="p">=</span><span class="s">your_mongodb_connection_string</span> </code></pre> </div>
  • Khởi động lại server phát triển:

    <div class="highlight js-code-highlight"> <pre class="highlight console"><code><span class="go">npm run dev </span></code></pre> </div>

💡 Mẹo bổ sung

  • Không nên tin tưởng mù quáng vào các bài hướng dẫn hoặc tài liệu cũ. Luôn kiểm tra phiên bản package.

  • Dùng lệnh sau để xác minh phiên bản driver MongoDB:

    <div class="highlight js-code-highlight"> <pre class="highlight console"><code><span class="go">npm list mongodb </span></code></pre> </div>
  • Nếu bạn đang sử dụng Next.js App Router, hãy đảm bảo API routes được đặt trong thư mục:

    <div class="highlight js-code-highlight"> <pre class="highlight plaintext"><code>app/api/your-route/route.js </code></pre> </div>

🎯 Kết luận

Lỗi này xảy ra vì MongoDB đã loại bỏ các tùy chọn cũ như <code>useNewUrlParser</code>, và các driver hiện đại xử lý mọi thứ tự động.

👉 Vậy giải pháp đơn giản là:

  • Xóa các tùy chọn cũ.
  • Sử dụng <code>new MongoClient(uri)</code> trực tiếp.

Nếu bài viết này giúp ích cho bạn, hãy chia sẻ nó với những người đang gặp vấn đề tương tự 🚀

Bài viết được tổng hợp và biên soạn bằng AI từ các nguồn tin tức công nghệ. Nội dung mang tính tham khảo. Xem bài gốc ↗