mongodb过滤器无法正常工作

时间:2015-12-06 21:39:51

标签: javascript json node.js mongodb feathersjs

我正在尝试对我的数据库运行查询,如下所示:

filter.customerProfile = { $exists: true };
console.log("filter: " + JSON.stringify(filter));
this.accountsAPI.find(filter, cb);

在回调中我打印:

console.log('first element: ', JSON.stringify(accounts[0]));

我的输出:

filter: {"customerProfile":{"$exists":true}}
first element:  {"username":"aabrahams","firstName":"Arthur","lastName":"Abrahams","DOB":"1981-07-11","email":"aabrahams@gmail.com","adminProfile":[{"displayUsername":"Art Abrahams","active":true,"priceEdits":[],"products":[],"productEdits":[],"jobCancellationApprovals":[],"partnerApprovals":[]}],"_id":"TkJNoSogUaJFKIHU"}

基本上,它返回所有用户,不仅是那些带有“customerProfile”的用户,而且我使用的过滤器甚至不重要。我尝试添加“$ ne”:null并且它没有帮助。

1 个答案:

答案 0 :(得分:3)

根据feathers' documentation,您可以使用查询制作过滤条件:

var filter = {
  query: {
    customerProfile: { 
      $exists: true 
    }
  }
}
this.accountsAPI.find(filter, cb);