标题还不够.在这里让我解释一下. 假设我有数据库结构 { 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)); });
希望能帮助到你,最好的祝福