0.5.2 • Published 9 years ago

nagu-profile v0.5.2

Weekly downloads
-
License
MIT
Repository
-
Last release
9 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

9 years ago

0.5.1

9 years ago

0.5.0

9 years ago

0.4.1

9 years ago

0.4.0

9 years ago

0.3.0

9 years ago

0.2.2

10 years ago

0.2.1

10 years ago

0.2.0

10 years ago

0.1.0

10 years ago

0.0.4

10 years ago

0.0.3

10 years ago

0.0.2

10 years ago

0.0.1

10 years ago