基于匹配或正则表达式的查询字符串查询Mongo
Query Mongo based on query string with match or regex
我试图查询mongo,并且查询基于特定字段,例如用户名或国家,它只返回该匹配。我可以在get请求上获得我想要的数据,但每当我尝试按特定字段查询时,它就会中断。它将返回这个错误。
my query string: localhost:4002/users?firstName =标记
err: MongoError: Can't canonicalize query: BadValue不支持的投影选项:firstName: {$match: "Mark"}
app.get('/users', (req,res) => {
co(function*(){
var dbSocial = yield MongoClient.connect(dbSocialUrl);
let query = {
firstName:1,
lastName:1,
createDT:1,
"_mailAddress.country":1,
ownerId:1,
userName:1
}
//
if (req.query.firstName) {
query["firstName"] = {
$match: req.query.firstName || '',
}
}
console.log('query',query);
//get users
var users = yield dbSocial
.collection('user')
.find({},(query))
.limit(100)
.toArray();
})
查询对象出现问题。
let query ={}
作品$match是一个聚合管道操作符,它接受指定查询条件的文档。它接受一个对象作为查询。
{$match: {<>}}
您应该放置您想要匹配的字段,在您的示例中是name。因此,像这样构建查询,
db.collection_name.aggregate({$匹配:{"名称":"马克"}})
相关文章:
- 如何有效地将游戏数据存储在URL查询字符串中
- 从查询字符串参数推断出正确的数据类型
- AngularJS:获取链接中没有哈希的查询字符串值
- AngularJS,如何更改查询字符串
- 如何将activeadmin查询字符串传递给batch_action
- 如何从查询字符串中的输入字段发回文本
- Django在使用AJAX时没有接收到新的查询字符串
- 使用查询字符串方法清除浏览器缓存
- 用于刷新的Javascript更改查询字符串
- 我想将查询字符串变量添加到JSON名称/值对中
- 将查询字符串值从页面传递 asp.net 到 iframe
- jqueryajax生成查询字符串,如果未定义则不通过
- 如何将查询字符串传递到HTML框架
- AngularJs将查询字符串发布到c#控制器
- Jquery - 从查询字符串中获取“#”值之后,而不是在“?”符号值之后获取
- 在 JavaScript 中将查询字符串传递给 Web 服务 (ASP.NET)
- 在查询字符串中查找 where 子句
- POST encodeURI查询字符串内部服务器错误 500
- JavaScript:从具有使用 # 符号的路由的 URL 获取查询字符串
- 更改链接 URL 中的路径名,同时保持查询字符串不变