当前位置 : 主页 > 网页制作 > Nodejs >

node.js – 如何编写一个查询,它在文档中使用两个字段

来源:互联网 收集:自由互联 发布时间:2021-06-16
标题还不够.在这里让我解释一下. 假设我有数据库结构 { name: "alex", age: "21", location: "university-alex"} 我知道这个数据库结构不合理但我只想以最短的方式显示我的问题. 我想获取位置包含
标题还不够.在这里让我解释一下.

假设我有数据库结构

{
    name: "alex",
    age: "21",
    location: "university-alex"
}

我知道这个数据库结构不合理但我只想以最短的方式显示我的问题.

我想获取位置包含名称字段值的文档.这里大学亚历克斯包括,亚历克斯所以它应该作为查询的结果返回.

到目前为止我做了什么?
我写了这个查询,但无法得到结果.

db.collection.find({location: {$regex: "$name"}})

我怎么编辑它?

我认为你想要实现的目标可以通过$where运算符完成.
根据 this part of the documentation

db.collection.find({ $where: function() { 
  return (this.location.includes(this.name)); 
} } );

或者您可以将JS表达式传递给find方法:

db.collection.find(function() { 
  return (this.location.includes(this.name)); 
});

希望能帮助到你,最好的祝福

网友评论