0.5.2 • Published 7 years ago

nagu-profile v0.5.2

Weekly downloads
-
License
MIT
Repository
-
Last release
7 years ago

nagu-profile

NPM version NPM downloads Build Status Coverage Status Dependency Status

How to Install

$ npm install nagu-profile

Getting Started

MongoProfileMiddlewares

使用MongoDB存储数据的express中间件。

创建对象
export const profileMiddlewares = new MongoProfileMiddlewares(mongoUrl, profileCollection);

参数:

  • mongoUrl 必须的,数据库连接字符串
  • profileCollection 存储profile数据的集合的名称,默认为profiles
get(getId(req, res) , success(profile, req, res, next), fail(result, req, res, next) )

返回一个用于根据id获取profile的async中间件。

const getProfile = profileMiddlewares.get(
  req => (new ObjectId(req.params.id)),
  (profile, req, res) => {
    if (profile) {
      res.send({ ret: 0, data: profile });
    } else {
      res.send({ ret: 404 });
    }
  });
router.get('/:id', getProfile);

参数:

  • getId 必须的,一个函数,用于获取profile的Id。
  • success 获取profile之后的处理函数,默认为:
    (doc, req, res, next) => {
      res.profile = doc;
      next();
    }
  • fail 失败之后的处理函数,默认为:
    (result, req, res) => {
      res.send(result);
    }
findOne(getQuery(req, res) , success(profile, req, res, next), fail(result, req, res, next) )

返回一个用于根据查询条件获取第一个profile的async中间件。

const findOneProfileByUserId = profileMiddlewares.findOne(
  req => ({ userid: req.params.userid}),
  (profile, req, res) => {
    if (profile) {
      res.send({ ret: 0, data: profile });
    } else {
      res.send({ ret: 404 });
    }
  });
router.get('/find-by-userid/:userid', findOneProfileByUserId);

参数:

  • getQuery 必须的,一个函数,用于获取profile的查询条件。
  • success 获取profile之后的处理函数,默认为:
(doc, req, res, next) => {
  res.profile = doc;
  next();
}
  • fail 失败之后的处理函数,默认为:
(result, req, res) => {
  res.send(result);
}

ProfileManager

引入对象,初始化
import { ProfileManager } from 'nagu-profile';

const mongoUrl = 'mongo://localhost/mydb';
const manager = new ProfileManager(mongoUrl, 'profiles');
add

添加profile

const newProfile = {
  userid: 'xxx',
  name: 'XiaoMing',
  otherProperty: 'otherValue',
};
const result = await manager.add(newProfile);
get(id)

根据id获取用户数据

How to Test

Run one, or a combination of the following commands to lint and test your code:

$ npm run lint          # Lint the source code with ESLint
$ npm test              # Run unit tests with Mocha
$ npm run test:watch    # Run unit tests with Mocha, and watch files for changes
$ npm run test:cover    # Run unit tests with code coverage by Istanbul

To launch the documentation site, run:

$ npm install -g easystatic
$ npm start

License

MIT © 2016 na57

0.5.2

7 years ago

0.5.1

8 years ago

0.5.0

8 years ago

0.4.1

8 years ago

0.4.0

8 years ago

0.3.0

8 years ago

0.2.2

8 years ago

0.2.1

8 years ago

0.2.0

8 years ago

0.1.0

8 years ago

0.0.4

8 years ago

0.0.3

8 years ago

0.0.2

8 years ago

0.0.1

8 years ago