Node.js   发布时间:2022-04-24  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了node.js – Mongoose:只查找并选择虚拟中指定的字段大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我有@L_402_1@mongoose的UserscheR_386_11845@a架构:

var UserscheR_386_11845@a = new scheR_386_11845@a({
  name: String,username: String,email: String,role: {type: String,default: 'user'},following: [{type: scheR_386_11845@a.objectId,ref: 'User'}],followers: [{type: scheR_386_11845@a.objectId,hashedpassword: String,provider: String,salt: String,facebook: {},twitter: {},github: {},google: {}
});

我创建了一个虚拟配置文件,它只返回公共配置文件的信息:

UserscheR_386_11845@a
  .virtual('profile')
  .get(function() {
    return {
      'username': this.username,'name': this.name,'role': this.role
    };
  });

我的问题是如何在我发出查找请求时只获取此信息.这是我的代码

UserscheR_386_11845@a.statics = {
  list: function (options,callBACk) {
    var criteria = options.criteria || {};

    this.find(criteria)
      .SELEct(/* what to put here? */)
      .limit(options.perPagE)
      .skip(options.perPage * options.pagE)
      .exec(callBACk);
  } 
};

当然,我可以简单地将用户名,名称和角色放在那里,但在这种情况下我会重复代码.我可以避免吗?

解决方法

您是否因为此查找以外的任何原因使用虚拟配置文件你的虚拟实际上只是指定了一些字段,没有更多的动态,所以如果你只是想在查询中选择字段,我会坚持(.SELEct(‘用户名称角色’)).如果你想让它可以重复使用……只需将字符串作为一个模块中的值,你可以通过require注入.然后你可以在任何需要的地方更改它,并像SELECT(profileFields)一样使用它.

大佬总结

以上是大佬教程为你收集整理的node.js – Mongoose:只查找并选择虚拟中指定的字段全部内容,希望文章能够帮你解决node.js – Mongoose:只查找并选择虚拟中指定的字段所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。