0
와 Node.js를에 '$ 또는'쿼리를 만들 수는 없지만, 쿼리 내가 DB에서 검색 할 데이터를 수신 할 수없는 그냥 말하는 유지
나 :
"Error :MongoError: Can't canonicalize query: BadValue $and/$or/$nor must be a nonempty array"
또는 I 쿼리로 $ 또는 {}
"Error :MongoError: Can't canonicalize query: BadValue $or needs an array"
감사 초기화합니다.를! 예를 들어
:
var user = {
name:"Toby",
gender:"Female",
contact:[
{email:"[email protected]"},
{email:"[email protected]"},
{email:"[email protected]"}]};
var query = {};
var q = ['[email protected]','[email protected]'];
query.name = user.name;
if(user.contact!=null){
query.$or = [];
query.$or['contact.0.email'] = q[0];
query.$or['contact.1.email'] = q[1];
}
같은 SQL 명령이 : 사용자가 SELECT * FROM WHERE에 대한 email='[email protected] 'OR email='[email protected]'AND 이름 = '토비' – yycctt
감사 당신의 대답! 또 다른 해결책도 있습니다 : query1.contact = {$ elemMatch : {email : {}}}; query1.contact. $ elemMatch.email. $ in = q; – yycctt