или же

аюсь сделать довольно простую операцию, вытянуть элемент из массива с помощью Mongoose в базе данных Mongo следующим образом:

User.update({ _id: fromUserId }, { $pull: { linkedUsers: [idToDelete] } });

fromUserId & idToDelete оба Идентификаторы объектов.

Схема для пользователей выглядит следующим образом:

var UserSchema = new Schema({
  groups: [],
  linkedUsers: [],
  name: { type: String, required: true, index: { unique: true } }
});

linkedUsers массив, который получает только идентификаторы других пользователей

Я пробовал это также:

User.findOne({ _id: fromUserId }, function(err, user) {
  user.linkedUsers.pull(idToDelete);
  user.save();
});

Но без удачи.

Второй вариант, кажется, почти работает, когда я утешаю длины массива в разных позициях, но после вызоваsave и проверка, длина все еще в 36:

 User.findOne({ _id: fromUserId }, function(err, user) {
    console.log(user.linkedUsers.length); // returns 36
    user.linkedUsers.pull(idToDelete);
    console.log(user.linkedUsers.length); // returns 35
    user.save();
  });

Похоже, я близко, но все же не повезло. Оба идентификатора отправляются через интерфейс приложения. Я использую эти версии:

"mongodb": "^2.2.29",
"mongoose": "^5.0.7",

Заранее спасибо.

Ответы на вопрос(1)

Ваш ответ на вопрос