0
私はMongoから得たデータとjavascript配列を比較したいと思います。私はロダッシュを使って比較しています。しかし、常に不正確な結果が返されます。例えばMongoDBデータとjavascript配列を比較できません
var editUser = function(userData, getOutFunction) {
var status = CONSTANTS.NG;
checkExistUser(userData._id).then(function(user) {
if (user !== null) {
var userGroup = JSON.stringify(user.group);
user.group = user.group.map((groupId) => {
return groupId.toString();
});
var removedGroups = _.difference(userGroup, userData.group);
var addedGroups = _.difference(userData.group, userGroup);
console.log('Removed Groups: ', removedGroups);
console.log('Added Groups: ', addedGroups);
} else {
status = CONSTANTS.NG;
logger.debug(DEBUG_CLASS_NAME, "Cannot find object");
if (typeof(getOutFunction) !== 'undefined') {
getOutFunction(status, null);
} else {
NO_CALLBACK();
}
}
}).catch(function() {
console.log('Promise is error');
});
var checkExistUser = function(userId) {
return new Promise(function(resolve, reject) {
UserDAO.findById(userId, function(err, user) {
if (err) {
logger.debug(DEBUG_CLASS_NAME, {
name: err.name,
code: err.code,
message: err.message,
method: "checkExist"
});
resolve(null);
} else {
resolve(user);
}
});
});
}
:
削除グループ:['58b8da6ed585113517fed34f']
追加グループIはlodash差関数
var user.group = ["58b8da67d585113517fed34e","58b8da6ed585113517fed34f"];
var userData.group = [ '58b8da67d585113517fed34e' ];
のための入力値にしようとしたとき、私はその結果、以下のlodash差復帰をしたいです: []
削除グループ:ただし、関数は次のように私に結果を与えた[]
追加グループ:[ '58b8da67d585113517fed34e' ]
誰もがこのケースで私を助けることができますか? 私はそれを感謝します。