Skip to content

Seems a bug in update() #37

@yelgogogo

Description

@yelgogogo

please take a look at below error.
When I tried to update a obj which had name "mic", it actually did on another which had name "mic2".

source code:

let query1={name:user.name,password:user.password};
let query2={openid:user.openid};
let updatedata={openid:'o7nyGwoX5e7GYH86m8nlZpP6IkwI'}
var userdb = require('diskdb');
userdb.connect('db', ['userdb']);
console.log(query1);
console.log(query2);
userdb.userdb.update(query2,{openid:''},{multi: false});
console.log(userdb.userdb.find(query1));
console.log(userdb.userdb.find(query2));
userdb.userdb.update(query1,updatedata,{upsert: true});
console.log(userdb.userdb.find(query1));
console.log(userdb.userdb.find(query2));

log:

Successfully connected to : db
{ name: 'mic', password: '' } --- query1
{ openid: 'o7nyGwoX5e7GYH86m8nlZpP6IkwI' } --- query2
[ { name: 'mic',
password: '',
_id: '4d066e36b9844277abafac602570904e',
openid: ''
} ] --- userdb.userdb.find(query1)
[] --- userdb.userdb.find(query1)
[ { name: 'mic',
password: '',
_id: '4d066e36b9844277abafac602570904e',
openid: '', } ] --- userdb.userdb.find(query1)
[ { name: 'mic2',
password: '',
_id: 'ead56db65a5e41bb86ce2831a914e4cf',
openid: 'o7nyGwoX5e7GYH86m8nlZpP6IkwI' } ] ---userdb.userdb.find(query2)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions