我有这个 Mongoose 模式:
// ------- creating active_rooms model -------
var active_rooms_schema = mongoose.Schema({
room_name: String,
users: [String]
});
var active_rooms = mongoose.model('active_rooms', active_rooms_schema);
数据库看起来像这样:
[{"_id":"586b8eeeebb48c65bcbbc5f3","room_name":"my_roome","__v":0,"users":["sam","sally"]}]
非常简单。我有一个聊天室和人员(该房间的用户数组)。我想在某个人退出房间后将其删除。
因此,我在我的服务器上编写了以下代码:
remove_user_from_room: function (user_name, room_name) {
console.log("remove_user_from_room: " + room_name + ", user: " + user_name);
active_rooms.update( {'room_name': room_name }, { $pullAll: {'users': [user_name] } } )
},
但是,此代码不会从数组中删除用户。它不会更改我的数据库中的数组。
我的错误在哪里?
谢谢
最佳答案
问题是缺乏同步,我需要使用 promise ..上面的代码是正确的。
关于node.js - mongodb 中的 $pullAll 不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41442954/