mirror of
https://github.com/NodeBB/NodeBB.git
synced 2025-11-17 03:01:08 +01:00
fix mongo setObject if key/value is empty string
This commit is contained in:
@@ -8,7 +8,9 @@ module.exports = function (db, module) {
|
||||
if (!key || !data) {
|
||||
return callback();
|
||||
}
|
||||
|
||||
if (data.hasOwnProperty('')) {
|
||||
delete data[''];
|
||||
}
|
||||
db.collection('objects').update({ _key: key }, { $set: data }, { upsert: true, w: 1 }, function (err) {
|
||||
callback(err);
|
||||
});
|
||||
|
||||
@@ -8,11 +8,17 @@ module.exports = function (redisClient, module) {
|
||||
if (!key || !data) {
|
||||
return callback();
|
||||
}
|
||||
|
||||
if (data.hasOwnProperty('')) {
|
||||
delete data[''];
|
||||
}
|
||||
|
||||
Object.keys(data).forEach(function (key) {
|
||||
if (data[key] === undefined) {
|
||||
delete data[key];
|
||||
}
|
||||
});
|
||||
|
||||
redisClient.hmset(key, data, function (err) {
|
||||
callback(err);
|
||||
});
|
||||
|
||||
@@ -42,6 +42,17 @@ describe('Hash methods', function () {
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
it('should not error if a key is empty string', function (done) {
|
||||
db.setObject('emptyField', {'': '', b: 1}, function (err) {
|
||||
assert.ifError(err);
|
||||
db.getObject('emptyField', function (err, data) {
|
||||
assert.ifError(err);
|
||||
console.log(data);
|
||||
done();
|
||||
});
|
||||
});
|
||||
});
|
||||
});
|
||||
|
||||
describe('setObjectField()', function () {
|
||||
|
||||
Reference in New Issue
Block a user