Ответы пользователя по тегу Node.js
  • Как использовать $all в агрегации mongoDB?

    BruTO8000
    @BruTO8000 Автор вопроса
    Пытаюсь научиться разработке
    Разобрался таким запросом :
    let employees = await models.employee.aggregate([
    		{
    			$match: {
    				login: login.toLowerCase(),
    			},
    		},
    		{
    			$lookup: {
    				from: "positiontypes",
    				let: {
    					position: "$position",
    					function: "$function",
    					bloc: "$bloc",
    					specialProperties: "$specialProperties",
    				},
    				pipeline: [
    					{
    						$match: {
    							$expr: {
    								$and: [
    									{ $eq: ["$$position", "$position"] },
    									{ $eq: ["$$function", "$function"] },
    									{ $eq: ["$$bloc", "$bloc"] },
    									{
    										$allElementsTrue: {
    											$map: {
    												input: "$$specialProperties",
    												as: "elem",
    												in: {
    													$and: {
    														$in: [
    															"$$elem",
    															"$specialProperties",
    														],
    													},
    												},
    											},
    										},
    									},
    								],
    							},
    						},
    					},
    				],
    				as: "positiontype",
    			},
    		},	]);
    Ответ написан
    Комментировать