npm 包 adonis-mongoose-provider 使用教程

阅读时长 20 分钟读完

简介

Adonis-Mongoose-Provider 是一个 Adonisjs 的提供程序,用于与 Mongodb 数据库交互。在 Adonisjs 中,您可以使用ORM Lite驱动器之一(例如 Lucid 或 MongoDB)来使用 Adonis-Mongoose-Provider。

Mongoose 是一个 MongoDB 的对象模型工具,它在 Adonisjs 中提供了灵活,高效且易于使用的方式来管理您的数据。

在本文中,我们将一步步地为您介绍如何使用 Adonis-Mongoose-Provider 提供程序进行应用程序开发。

安装

在使用 Adonis-Mongoose-Provider 之前,您需要先安装 Adonisjs 并创建一个 Adonis 应用程序。 Adonis-Mongoose-Provider 提供程序基于 Mongoose 构建,因此,您需要确保先安装它。

设置

第一步

打开 config/database.js 文件,并确保在 connections 对象下添加了以下配置。

-- -------------------- ---- -------
-- ------------------

-------------- - -
  ------------ -
    --------- -
      ------- -----------
      ----------------- -------------------- ----
      ----------- -
        -------- -
          ---------------- -----
          ------------------- ----
        -
      -
    -
  -
-

第二步

start/app.js 文件中添加 @adonisjs/mongooseadonis-mongoose-provider 提供程序。

-- -------------------- ---- -------
-- ------------

----- --------- - -
  -- ---
  ------------------------------------------
  ------------------------------------------------
  -----------------------------------------------------
-

----- ------------ - -
  -- ---
-

----- ------- - -
  -- ---
  --------- -------------------------
-

----- -------- - -
  -- ---
-

-------------- - - ---------- ------------- -------- -------- -

第三步

现在,在你的模型中,你可以引入 MongooseModel 并且开始模型的工作。 它将为你提供可以在 MongoDB 上工作的所有方法。 下面是个示例代码:

-- -------------------- ---- -------
-- ------------------

---- -------

----- - ------------- - - --------------------

----- ---- ------- ------------- -
    
    ------ --- ---------------- -
        ------ --------
    -

    ------ ------ -
        ------------

        ---------------------------- -----------------------------------------
    -

    ------ --- -------- -
        ------ ------------
    -
    
    -- ----- ----------
-

-------------- - -----

示例代码

下面是一个基于 Adonisjs 和 Adonis-Mongoose-Provider 的示例代码。

定义模型

-- -------------------- ---- -------
-- ------------------

---- -------

----- ---- - -----------
----- - ------------- - - --------------------

----- ---- ------- ------------- -
  ------ ---- -- -
    ------------

    ---------------------------- ------------------------
  -

  ------ --- ---------------- -
    ------ --------
  -

  ------ --- -------- -
    ------ ------------
  -

  ------ ----- ------------------ -
    ------ -------------- ------ -------------------------- ---------------------------
      -------
  -

  ------ ----- ----------------- -
    ------ -------------- ---- ------- ---------------------------
      -------
  -

  ------ ----- ------------------- -
    ------ ------------------------
  -

  ----- ------------------------ -
    ----- -------------- - --------------------
    ------ --------------------- ---------------
  -

  ------ --- ---------- -
    ------ -------- -------- -----------
  -
-

-------------- - ----

定义 Hook

-- -------------------- ---- -------
-- ----------------------------

---- -------

----- ---- - -----------

----- -------- - ------- - -------------- - --

--------------------- - ----- --------------- -- -
  -- ------------------------------ -
    ---------------------- - ----- ---------------------------------
  -
-

路由

-- -------------------- ---- -------
-- ---------------

---- -------

----- ----- - ------------

-------------- -- ---- -- -- -
  ------ -------------------
--

---------------------- -- ---- -- -- -
  ------ -----------------------
--

----------------------- ----- -- -------- -------- -- -- -
  ----- ---- - ----------------------
  ----- ---- - ---------------------------
  ----- ------------------------
  ------ ----------------------
--

------------------- -- ---- -- -- -
  ------ --------------------
--

-------------------- ----- -- -------- ----- -------- -------- -- -- -
  ----- - ------ -------- - - -------------
  ----- ---- - ----------------------
  ----- ---- - ----- -----------------------
  -- ------ -- ------ ------------------------------ -
    --------------- ------------- -------- ------------- --
    ------ -------------------------
  -
  ----- -------------------------
  ------ ----------------------
--

-------------------- ----- -- ----- -------- -- -- -
  ----- -------------
  ------ ----------------------
--

视图

-- -------------------- ---- -------
---- ----------------------------- ---

--------------------------

----------------- -----------

-------------------
  ---- ---------------- ------
    ---- ---------- ------------------------
      ---- -----------------
        ---- -------------
          ---- ---------------------- -------------- --------

          ---- ------------------
            ----- ------------- ---------- ----------------- ----
              -----

              ---- ----------------- -----
                ------ ---------- --------------- -------------- ----------------- ---------- ----------

                ---- -----------------
                  ------ --------- ----------- ------------------- -------------- ---------- ---------- ----------- --------- ----------- --- -------- ------------------- ----------

                  --------------
                    ----- ------------------------ -------------
                      ---------- -------- -----------
                    -------
                  ---------
                ------
              ------

              ---- ----------------- -----
                ------ ----------- --------------- -------------- ----------------- ---------- --------- ----------

                ---- -----------------
                  ------ ---------- ------------ ------------------- --------------- ---------- ---------- ------------ --------- ------------ --- -------- ---------------------

                  ---------------
                    ----- ------------------------ -------------
                      ---------- -------- -----------
                    -------
                  ---------
                ------
              ------

              ---- ----------------- -----
                ------ -------------- --------------- -------------- ----------------- -------------- ----------

                ---- -----------------
                  ------ ------------- --------------- ------------------- ------------------ ---------- ---------- --------------- -------- ----------------------------

                  ------------------
                    ----- ------------------------ -------------
                      ---------- -------- -----------
                    -------
                  ---------
                ------
              ------

              ---- ----------------- -----
                ------ ---------------------- --------------- -------------- ----------------- ----------- ---------- ----------

                ---- -----------------
                  ------ --------------------- --------------- -------------------- ---------------------------- -------- ----------------------------
                ------
              ------

              ---- ----------------- --- ------
                ---- --------------- -------------
                  ------- ------------- ---------- -------------
                    -- -------------- --
                  ---------
                ------
              ------
            -------
          ------
        ------
      ------
    ------
  ------
-----------
-- -------------------- ---- -------
---- -------------------------- ---

--------------------------

----------------- --------

-------------------
  ---- ---------------- ------
    ---- ---------- ------------------------
      ---- -----------------
        ---- -------------
          ---- ---------------------- ----------- --------

          ---- ------------------
            ----- ------------- ---------- -------------- ----
              -----

              ---- ----------------- -----
                ------ ----------- --------------- -------------- ----------------- ---------- --------- ----------

                ---- -----------------
                  ------ ---------- ------------ ------------------- --------------- ---------- ---------- ------------ --------- ------------ --- -------- -------------------- ----------

                  ---------------
                    ----- ------------------------ -------------
                      ---------- -------- -----------
                    -------
                  ---------
                ------
              ------

              ---- ----------------- -----
                ------ -------------- --------------- -------------- ----------------- -------------- ----------

                ---- -----------------
                  ------ ------------- --------------- ------------------- ------------------ ---------- ---------- --------------- -------- --------------------------------

                  ------------------
                    ----- ------------------------ -------------
                      ---------- -------- -----------
                    -------
                  ---------
                ------
              ------

              ---- ----------------- -----
                ---- --------------- -------------
                  ---- -------------------
                    ------ ------------------------ --------------- --------------- ------------- -- --------------- - --------- - -- ---

                    ------ ------------------------ ---------------
                      -- ------------ ---- --
                    --------
                  ------
                ------
              ------

              ---- ----------------- --- ------
                ---- --------------- -------------
                  ------- ------------- ---------- -------------
                    -- ----------- --
                  ---------

                  --- --------------------------------
                    -- ---------- --------- -------- ------------------------- ----
                      -- ---------- ---- ----------- --
                    ----
                  ------
                ------
              ------
            -------
          ------
        ------
      ------
    ------
  ------
-----------
-- -------------------- ---- -------
---- ------------------------- ---

--------------------------

----------------- -------

-------------------
  ---- ---------------- ------
    ---- ---------- ------------------------
      ---- -----------------
        ---- -------------
          ---- ---------------------- --------------- --------

          ---- ------------------
            --- -----------------------
              ---- ------------ ------------- -------------
                -- --------------------- --
              ------
            ------

            -----
              --- ------------------------- -- --------------- -------
              ---- ------------
                ---- --------------- -------------
                  ----- ---------------- --------------
                    -----
                    ------ ------------- -------------- ---------- --------- ------------
                  -------
                ------
              ------
            -----
              --- --------------------------- -- -------- --- ---- -------------
              -- ---------------------- ---------------- ---------- ------------------------- -- ------------- ---------- --------------------------
            --------
          ------
        ------
      ------
    ------
  ------
-----------

结论

在本文中,我们提供了一种使用 Adonisjs 和 Adonis-Mongoose-Provider 构建应用程序的方法。

Adonis-Mongoose-Provider 提供程序是一个强大的工具,使您可以使用 Mongoose 进行数据建模和查询,同时还能获得 Adonisjs 的许多功能。

希望这篇文章对您有所帮助,祝你学习愉快!

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/600671d630d0927023822bfb

纠错
反馈