예상되는 솔루션의 범위 내에 있지만 .query() 메소드가 없는지 확실하지 않습니다.
Users.query('SELECT * FROM Users WHERE (score IS NULL OR activity IS NULL) AND (invited IS NULL OR invited_by IS NULL)', [ ] ,function(err, result) {
if (err) { // do something }
else {// do something else with the result}
});
P. :이 쿼리를 직접 실행하지 않았습니다. 내 일부 구문 오류가있을 수 있습니다.
더 참조 할 수 있도록이 페이지에 http://sailsjs.com/documentation/reference/waterline-orm/models/query
EDIT를보고하십시오 : 미안 해요,하지만 MongoDB를 사용하면 네이티브() 메소드를 사용할 필요가 질문을 오해. MongoDB의 스키마를 가지고 있지 않습니다
var queryCriteria = {
"$and" : [{"$or" : [{ "score" : null },{"activity" : null}] },{"$or" : [{
"invitedby" : null },{"invited" : null}] } ]
}
그런 다음이
Users.native(function(error, collection) {
if (error) return res.serverError(error);
collection.find(queryCriteria ,{}).toArray(function (err, results) {
if (err) return res.serverError(err);
return res.ok(results);
});
});
P.P.S 같은 기본 방법을 사용할 수 있습니다 뭔가 것처럼해야한다. 따라서 데이터를 생성하는 동안 명시 적으로 null을 입력하지 않으면 해당 필드가 생성되지 않습니다. 즉, 데이터에 점수 필드가 전혀 없을 수도 있습니다.이 경우 null을 {$ exists : false}로 바꿔야합니다. 또한 전에이 원시 방법을 사용했습니다 내 매우 제한된 경험에서 그것은 매우 느립니다 .. 내 경우 중 하나에서 약 10의 transactionPerSecond 점점 기억 해요. 그것을 참조하십시오. .native에 대한
링크() http://sailsjs.com/documentation/reference/waterline-orm/models/native
난 당신이 질문을 보면 내가 수선 모델 (그 가능한 경우)를 사용하여 MongoDB로 예를 들어 MySQL의 쿼리를 매핑 할, MongoDB의에 쿼리를 실행하려합니다. – Abdullah
예, 맞습니다. 기본 흘수선은 매우 제한적으로 지원됩니다. 감사합니다. – Abdullah