Node.js 如何在mongoose中的一个和条件下找到模型的不同字段?
我希望找到一个模型中同时满足这两个条件的不同字段的列表 从文件: 我发现我可以在Node.js 如何在mongoose中的一个和条件下找到模型的不同字段?,node.js,mongodb,mongoose,Node.js,Mongodb,Mongoose,我希望找到一个模型中同时满足这两个条件的不同字段的列表 从文件: 我发现我可以在Model.distinct()中传递一个条件数组作为第二个参数。但这一系列条件似乎是通过“或”操作联系起来的。也就是说,如果任何一个条件满足,则会列出该字段 但我只想在两个条件都满足的情况下得到这个场 当我使用: Model.distinct(field).and(arrayOfConditions).exec(callback); 然后我得到一个错误: TypeError: Cannot call method
Model.distinct()
中传递一个条件数组作为第二个参数。但这一系列条件似乎是通过“或”操作联系起来的。也就是说,如果任何一个条件满足,则会列出该字段
但我只想在两个条件都满足的情况下得到这个场
当我使用:
Model.distinct(field).and(arrayOfConditions).exec(callback);
然后我得到一个错误:
TypeError: Cannot call method 'map' of undefined
at SchemaBoolean.handleArray (/Users/user1/node_modules/mongoose/lib/schema/boolean.js:56:14)
distinct
不会返回功能完整的Query
对象,因此您可以这样做:
Model.distinct(field, {$and: arrayOfConditions}).exec(callback);
不加评论地投下一票。。!为什么?Model.distinct始终返回查询对象。Model.distinct依次调用Query.distinct,后者返回一个查询对象。然而,你的答案很有效。。还有这个:Model.distinct(字段,{$and:arrayOfConditions},回调)