简介
npm包loopback-connector-mongodb
是一种为了在LoopBack框架下使用MongoDB数据库而开发的数据连接器。它可以方便地让你在Node.js应用中使用MongoDB的功能,包括查询、添加、更新和删除文档。
安装
在开始之前,首先需要安装LoopBack框架和MongoDB数据库。然后,在你的应用目录下运行以下命令进行安装:
$ npm install loopback-connector-mongodb --save
配置
接下来需要在你的LoopBack应用中配置MongoDB连接信息。打开应用根目录下的server/datasources.json
文件,添加以下代码:
{ "myMongoDB": { "name": "myMongoDB", "connector": "mongodb", "url": "mongodb://localhost:27017/myDatabase" } }
这里的name
是数据源的名称,可以自定义;connector
指定了使用的连接器类型,这里是mongodb
;url
是MongoDB数据库的连接地址,格式为mongodb://<user>:<password>@<host>:<port>/<database>
。
使用
在LoopBack应用中使用MongoDB的方式与使用其他数据源类似。例如,创建一个名为Person
的模型,表示一个人的信息。
创建模型
在应用根目录下执行以下命令:
$ lb model
然后,按照提示输入模型的名称、基础类和数据源。这里选择PersistedModel
作为基础类,选择之前配置的MongoDB数据源。
定义属性
打开刚才生成的common/models/person.json
文件,添加以下代码:
-- -------------------- ---- ------- - ------- --------- ------- ----------------- ------------- - ------------ - ------- --------- ----------- ---- -- ----------- - ------- --------- ----------- ---- -- ------ - ------- --------- ----------- ---- - - -展开代码
这里定义了firstName
、lastName
和age
三个属性,分别表示名字、姓氏和年龄。
实现方法
打开common/models/person.js
文件,添加以下代码:
-- -------------------- ---- ------- -------------- - ---------------- - ------------ - ------------- --- - -------- ------------- - - ----- - ---------------------------- - -------- ----- ------ ----- ---------- -------- ----- ----------- ----- --------- --- -展开代码
这里实现了一个叫做greet
的方法,它接收一个消息并返回一个问候语。然后使用remoteMethod
将该方法暴露给远程调用。
查询文档
在Person
模型中添加一个查询方法,获取所有年龄大于等于18岁的人:
Person.getAdults = function(cb) { Person.find({where: {age: {gte: 18}}}, cb); } Person.remoteMethod('getAdults', { returns: {arg: 'adults', type: 'array'} });
这里使用find
方法查询所有年龄大于等于18岁的人,然后将结果返回给回调函数。
添加文档
在Person
模型中添加一个添加方法,将新的人员信息插入到数据库中:
-- -------------------- ---- ------- ---------------- - ------------------- --------- ---- --- - ------------------------- ---------- --------- --------- ---- ----- ---- - -------------------------------- - -------- - ----- ------------ ----- --------- --------- ------ ----- ----------- ----- --------- --------- ------ ----- ------ ----- --------- --------- ----- -- -------- ----- --------- ----- --------- ---展开代码
这
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/53289