有没有办法防止 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
});
}
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
});
}