首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >用猫鼬移除数组中对象的objectID

用猫鼬移除数组中对象的objectID
EN

Stack Overflow用户
提问于 2015-09-01 18:27:04
回答 1查看 370关注 0票数 0

我在我的家族计划中有以下几点

代码语言:javascript
运行
复制
var ClanScheme = new mongoose.Schema
({
    name: {type: String, unique: true},
    members: 
    [
      {
        user: {type: mongoose.Schema.Types.ObjectId, ref:'User', unique: true},
        wins: {type: Number, default: 0},
        losses: {type: Number, default: 0}
      }
    ],

如何将用户从家族中删除?我尝试了几种方法--这看起来是最少的代码:

代码语言:javascript
运行
复制
clan.members.remove({'user':userObj._id});
clan.save(function(err)

它似乎在运行,但用户仍然在文档中。

氏族

代码语言:javascript
运行
复制
{ _id: 55e5e8d017e055495dcc3643,
  name: 'DBz',
  __v: 9,
  rating: 1000,
  losses: 0,
  wins: 0,
  rank: 0,
  members: 
   [ { user: [Object], 
       _id: 55e5e8d017e055495dcc3644,
       losses: 0,
       wins: 0 },
     { user: [Object],
       _id: 55e5eb0f17e055495dcc3645, //<< 55e4ac0340f964d52f8e7fb7
       losses: 0,
       wins: 0 } ] }

用户

代码语言:javascript
运行
复制
{ _id: 55e4ac0340f964d52f8e7fb7,
  facebookid: '999',
  name: 'Joe Blogs',
  __v: 0,
  lastDevice: { device: 'Desktop', id: 'adsbr2fjui33emk9p6gtnfrulv' },
  multiplayer: 
   { clanid: 55e5e8d017e055495dcc3643,
     powers: [],
     world_commander: 0,
     losses: 0,
     wins: 0,
     clanname: 'DBz',
     rating: 1000,
     rank: 0,
     username: 'Joe' },
  saveDataSeed: 40wq211,
  saveData: 'yuV2hVJA00zYGm'}
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-09-01 18:32:27

使用筛选函数并保存。

代码语言:javascript
运行
复制
clan.members = clan.members.filter(function(member){
  return String(member.user._id) !== String(userObj._id);
});

clan.markModified('members');
clan.save(function(err)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32338547

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档