Menu
CoddyTech

连接到 MongoDB

本课属于 Coddy Node.js 学习旅程的“使用 MongoDB 的数据库”单元。第 3 课,共 29 课。

你的程序通过客户端对象连接 MongoDB。导入 MongoClient,并使用连接地址创建客户端。下面的地址表示运行在同一台计算机上的 MongoDB:localhost。数字 27017 是数据库服务监听的端口。

const client = new MongoClient('mongodb://localhost:27017');
const db = client.db('shop');
const orders = db.collection('orders');

第一行配置客户端,接下来的两行选择数据库和集合。这些语句不会读取记录。在 Coddy 中,连接由练习数据库提供,每次点击“运行”时都会重置。普通的 MongoDB 部署会在应用程序重启后继续保存数据。

在模块级别创建客户端,以便多个请求重复使用它。如果在请求函数内部创建客户端,使用真实驱动程序时,每个请求都会创建一个新的连接池。

challenge icon

挑战

简单

编辑 connection.js。将占位内容替换为使用 mongodb://localhost:27017 的客户端、shelf 数据库及其 books 集合。

在 selectBooks() 外创建这些值。让该函数返回选中的集合,这样每个请求都会重复使用它。提供的路由会为你读取集合。尝试点击“运行”:GET /result 应列出 Dune、Kindred 和 Emma。不需要编写插入或路由代码。

提供的 GET /reuse 路由会在重复调用获得同一个集合句柄时返回 {"same":true}。

亲手试试

import { MongoClient } from 'mongodb';
// 创建客户端,选择数据库,并替换这个占位符。
const books = null;
export function selectBooks() {
    return books;
}

使用 MongoDB 的数据库中的所有课

自己练习: Express 在线编辑器