在现代Web开发中,使用NoSQL数据库成为了越来越流行的选择。MongoDB是一个经过广泛使用的NoSQL数据库,可以在丰富的数据种类和扩展性方面提供许多优点。Deno是一个新的运行时环境,可用于构建高性能的Web应用程序。本文将介绍如何在Deno中使用MongoDB,以及如何使用Deno的特性来管理Async代码风格。
1. 安装mongodb模块
我们需要使用Deno自带的包管理工具deno来获取关于MongoDB的模块。
运行:
deno run --allow-net --allow-read https://deno.land/x/mongo/examples/simple.ts
该命令将下载mongo的驱动,并通过HTTP请求执行simple.ts例子。
2. 数据库的连接
使用MongoDB的步骤之一是建立与数据库的连接。连接是异步的,因此我们将利用Deno的async/await功能。
import { MongoClient } from "https://deno.land/x/mongo/mod.ts"; const client = new MongoClient(); await client.connect("mongodb://localhost:27017"); const db = client.database("todoapp");
可以看到我们从mongo中导入了MongoClient
和ObjectId
。 然后我们创建了一个新客户端实例,并调用client.connect()
对服务器进行连接。
在我们连接成功之后,我们可以创建一个数据库对象的引用,以便更轻松地调用MongoDB API。
3. 增删改查
插入
一旦我们有了一个有效对象的引用,就可以使用db
对象来操作所有可能的数据库操作,从插入到删除,到查询。
以下代码需要依赖步骤二建立的连接。
-- -------------------- ---- ------- ------------ --------------- ----- --------------- - ----------------------- ----- -------- - ----- --------------------------- --------- -------- --------- --------- --- ----------------------
上述代码指定了我们要添加到集合中的键值对, insertOne() 方法返回id字段,表示新加入document的id。
查询
-- -------------------- ---- ------- ------ ----- ----- - ----- ------------------------- ------------------- ------------- ----- ---- - ----- ------------------------ - --------- - ------- ---- - -- - ----- - --------- - - -- -- ------------------
上述代码将查询所有文档,或者返回一个匹配给定十六进制文档ID的文档。find()方法返回一个Cursor对象,这个对象可以遍历后来以及特定的文档。findOne()方法返回一个单独的文档,该文档首先被排序。
更新 / 删除
-- -------------------- ---- ------- ------- ----- -------- - ----- -------------------------- - --------- ------- -- - --------- --------- -- -- ---------------------- ----- -------- - ----- --------------------------- --------- ------- --- ----------------------
这里我们仅仅通过一个键值对进行检索与更新/删除。当然,您也可以通过其他计算方式来筛选文档,并对其进行修改、添加或删除。
4. 总结
在本文中,我们学习了在Deno中使用MongoDB的正确方式。我们可以通过Deno的特点,像async/await和在安全沙盒中管理外部API等功能,安全连接到MongoDB服务器并进行数据库操作。现在你可以开始构建你自己的MongoDB应用程序了。
完整的代码示例可以查看这里,其中包括了更多的示例代码。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64cfb5adb5eee0b5256e21dd