有没有办法防止 neDB 集合数组中的条目重复?

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
    });
}

在此代码中 如果新的 Id 不在数组中,我想将其推送到数组中。

我已经阅读了 neDB 的 docs,但似乎没有办法做到这一点

我是初学者,所以我认为有办法做到这一点,但我看不到。

要仅在 users 数组不存在时将其推送到 chatId,您可以使用 $addToSet。根据 nedb document

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

示例代码如下:

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