简体   繁体   中英

How to select only products with ids from ids array. MongoDB

I'm getting all products and populate the category with mongoDB. Also I have array with category ids and I want to get only products, that have that ids in category object. How to select only this products?

 arr of ids [ '615e94cab42d2274f0481232' ] arr of products [ { _id: new ObjectId("615e945cb42d2274f0481211"), image: '', category: { _id: new ObjectId("615da90b689b8ef91fa90afd"), name: 'Разное' }, name: '435пукп', type: 'В упаковке', piecesPerPackage: 2, pricePerPiece: 1, pricePerPackage: 2, weight: 12, description: 'вапвап' }, { _id: new ObjectId("615eaa08f68e788c63817641"), image: '', category: { _id: new ObjectId("615e94cab42d2274f0481232"), name: '2' }, name: '2', type: 'В упаковке', piecesPerPackage: 2, pricePerPiece: 2, pricePerPackage: 2, weight: 2, description: '2' } ]

 async sortCatalog(arr) { const products = await CatalogModel.find().lean().populate("category", "name").select('-__v'); console.log("arr of ids", arr) console.log("arr of products", products) }

Use category._id to find it.

await CatalogModel.find({'category._id':new ObjectId("615e94cab42d2274f0481232")})

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM