前端默认传空字符串,mongodb如何查询所有数据
前端页面如下:
用vue写的,默认查询发送给后台的数据如下:
email:"",
mis:"",
phone:"",
username:"",
后台node写的,接收之前还是空字符串,如何在数据库中默认查询出所有数据呢?是把以下数据默认都查询出来,而不是制定符合字段为空字符串的相对应字段??
有没有像如下mysql的语句,判断参数是否为空,全部为空就查全部,有不为空的就带条件查询
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
问题描述的不是很清楚
如果你想做的事情是: 当前端传入的数据为空字符串时,在查询时不对此字段做限制,只对前端传了非空的字段进行限制的话, mongodb的find方法是需要传一个给定值的,传空字符串 会匹配此字段为空的记录, 你需要在执行db查询操作之前,
在nodejs代码中判断字符串是否为空,然后再执行查询语句。
不知是否帮到你,可以留言让我进一步了解你的问题。
补充回答:
以nodejs的express框架action请求为例:
以上代码只是帮你打个样,仅对于email这一个字段的查询, 当输入为空字符串时,直接将查询条件设为了空对象,因此不对任何字段做限制输出查询结果;如果email字段里有货,则在查询条件中限制email字段必须符合输入值。
有问题请回复。
意思就是,在判断不为空时再组装限制条件。
不知道楼主解决问题了没有,遇到同样需求通过百度来到这里,搞了好久有了个解决方案,希望可以帮到后面遇到同样问题的人,这里的话我的查询条件是必须要传入年和月,日期为空返回当前年份月份下的所有数据,通过前端传过来的字段判断,代码如下
今天遇到了相同的问题,用的解决方案是可以用正则