Engineer Passion
Engineer Passion

Reputation: 1181

is there a way to prevent duplication of entries in neDB collection's array?

var addNewUser = function (id, chatId) {
    db.update({ _id: id }, { $push: { users: chatId } }, {}, function (err, numAffected) {
        // code after the record is updated
    });
}

in this code I want to push new Id to the array if it is not in it.

I've read the docs of neDB but it seems there is no way to do that

I'm beginner so I think there is a way to do that but I cant see it.

Upvotes: 2

Views: 1035

Answers (1)

shaochuancs
shaochuancs

Reputation: 16226

To push new chatId to users array only if it does not exist, you can use $addToSet. According to the nedb document:

$addToSet adds an element to an array only if it isn't already in it

Here is the example code:

var addNewUser = function (id, chatId) {
  db.update({ _id: id }, { $addToSet: { users: chatId } }, {}, function (err, numAffected) {
    // code after the record is updated
  });
}

Upvotes: 1

Related Questions