MongoDB聚合查询$match那些坑(id匹配失效)

这是最近在使用mongoose聚合查询时遇到的一个坑

直接上代码

articleModel.aggregate.([
	//{$match: {categoriesId: "5edb465c998ec658dc60c30f"}}   //没有数据
	//{$match: {categoriesId: mongoose.Schema.Types.ObjectId("5edb465c998ec658dc60c30f")}}   //也没有数据
	{$match: {categoriesId: mongoose.Types.ObjectId("5edb465c998ec658dc60c30f")}}  //好了
])

在使用聚合查询进行$match匹配时,如果匹配的是id则要将id字符串进行额外处理,将id字符串转成对应的ObjectId,而转换方法也要注意,只能使用mongoose.Types.ObjectId()否则将查询不出结果

你可能感兴趣的:(踩坑,Node.js,MongoDB,node.js,mongodb)