나뭇 가지 프레임 워크에서 MongoDB를 사용하고 있습니다. 사용자가 특정 모듈에 액세스 할 수 있는지 확인하려고합니다.MongoDB 배열 내에 값이 있는지 확인하십시오.
session.get('__AUTH_USER').find({ approvedModules : { '$in' : ["examplemodule"]}}, { '$exists' : true })
(표준 기능을 따옴표로해야) :
_id: "579b50a4f5092761a20f4e71",
approvedModules: [
"examplemodule",
"examplemodule1",
"examplemodule2",
"examplemodule3"
],
내 코드는 다음과 같습니다처럼
(의 일부) 내 DB 항목이 보인다.
나는 계속 false를 반환합니다. 사용하는 경우에만 값을 반환 할 수 있습니다. session.get('__AUTH_USER').approvedModules.0
변경 될 수 있으므로 .0
을 포함하고 싶지 않습니다.
내가 뭘 잘못하고 있니?
미리 감사드립니다.
당신이 봤어'$ elemMatch'을 - https://docs.mongodb.com/manual/reference/operator/query/elemMatch/ – DaveCoast
답장을 보내 주셔서 감사합니다! 그래,하지만 같은 문제가 생겼어. session.get ('__ AUTH_USER'). find ({approvedModules : { '$ elemMatch': {*** 와일드 카드?! *** : "examplemodule"}}}}, { '$ 존재 ': true}) –