【问题标题】:Concat two document properties in query options mongoose [duplicate]在查询选项猫鼬中连接两个文档属性[重复]
【发布时间】:2015-08-27 21:54:57
【问题描述】:

对不起,如果这是非常简单的 mongodb 有关于聚合 $concat 的文档,但是我可能误解了它的目的。我正在尝试像这样组合我的名字和姓氏属性。

姓,名

我还会在末尾添加中间名首字母,但我不想让事情复杂化。

var query = model.find(); //for simplicity I'm selecting all of them
query.aggregate({name:{$concat:['$LastName', ', ', '$FirstName']}})
query.exec(function(err, docs){
    if(err) throw err; //trying to understand why this isn't working
})

这会导致获取此信息的路由返回状态 500,但不会引发错误。我是不是走错了路。实际上 代码将输出限制为 1000,因为数据库中有超过 200,000 个条目,如果 mongoose 可以为我做一些工作,循环遍历它们并将它们组合起来似乎有点愚蠢。

【问题讨论】:

    标签: node.js mongodb mongoose


    【解决方案1】:

    我意识到我使用聚合错误。相反,我发现我可以使用虚拟对象来做同样的事情。

    通过修改我的架构

    var s = new Schema({//someschema},{
        toObject:true,
        toJSON:true
    });
    s.virtual('FullName').get(function(){
        return this.LastName + ', ' + this.FirstName;
    });
    

    然后我在没有可以调用的聚合的情况下进行查询 doc.FullName //Last, First

    感谢@JohnnyHK 和他在Can't get Mongoose virtuals to be part of the result object 上的回答

    【讨论】:

      猜你喜欢
      • 2019-07-25
      • 1970-01-01
      • 1970-01-01
      • 2013-04-20
      • 2021-02-23
      • 2015-06-26
      • 2021-07-05
      • 2020-12-22
      • 1970-01-01
      相关资源
      最近更新 更多