例えば、私は(MongoDBのを)テーブルを持っているデータベースクエリやアプリケーションロジックで作業する必要がありますか?
var schema = new mongoose.Schema({
username: { type: String, unique: true, require: true },
password: String,
role: { type: String, enum: ['admin', 'user'], default: 'USER' },
ttt: {type: String, enum: ['A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J'], }
deleted: { type: Boolean, default: false },
disabled: { type: Boolean, default: false },
}
それから私は、ユーザー(nodejs)のSTATを取得する必要があります:
var deletedUserCount = Users.count({deleted: true})
var disabledUserCount = Users.count({disabled: true})
var totalUserCount = Users.count({})
var adminUserCount = Users.count({role: 'admin'})
var userUserCount = Users.count({role: 'user'})
これは5デシベルクエリを起動します。
var users = Users.find({}, {role: 1, deleted: 1, disabled: 1})
var deletedUsers = _.filter(users, function(u) {return u.deleted;})
var deletedUserCount = deletedUsers.length;
一つのDBクエリ:
私はこのような何かを行う必要があります。アプリケーションレベルで作業してください。
どちらの方がパフォーマンスが良いですか?
これは単純な例ですが、例が複雑な場合はどうなりますか?
どのようなルールに従うべきですか?
そして、私はcountByttt
tttACount = Users.count({ttt: 'A'})
ここにはSQLはありません、btw。 –