$ pullAll在mongoosedoens't工作
我有这个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"]}]
相当直接。 我有一个聊天室和人(到该房间的用户arrays)。 一旦他/她离开房间,我想删除某个人。
因此,我写了这个代码在我的服务器上:
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] } } ) },
但是,此代码不会从arrays中删除用户。 它不会更改我的数据库中的数组。
我的错在哪里?
谢谢
为什么你使用$ pullAll,如果你只想移除一个人。 使用$ pull
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 }, { $pull: {'users': user_name } } ) },
问题是缺乏同步,我需要使用承诺..上面的代码是正确的。