2013-02-07 47 views
0

我有2个模式,并产生下面的数据时,我打印匹配出网页,但这个团队[]领域,我相信它是从那里开始的一个点而且我已经设法让队伍保存到正确的地方,我该如何摆脱这个领域,因为这是不必要的?Mongodb - 如何删除文档的元素

团队架构

var Team = new Schema({ 
    'key' : { 
    unique : true, 
    type : Number, 
    default: getId 
    }, 
    'name' : { type : String, 
       validate : [validatePresenceOf, 'Team name is required'], 
       index : { unique : true } 
      } 
}); 

匹配模式

var Match = new Schema({ 
    'key' : { 
    unique: true, 
    type: Number, 
    default: getId 
    }, 
    'hometeam' : { type: Schema.ObjectId, ref: 'Team' }, 
    'awayteam' : { type: Schema.ObjectId, ref: 'Team' } 
}); 

匹配输出

[ 
    { 
    "_id": "5112aeaf064432060d000002", 
    "team": [ 
     { 
     "key": 1360178863022, 
     "_id": "5112aeaf064432060d000003" 
     } 
    ], 
    "__v": 0, 
    "key": 1360178863022 
    }, 
    { 
    "hometeam": "5106e7ef9afe3a430e000007", 
    "_id": "5113b7ca71ec596125000005", 
    "__v": 0, 
    "key": 1360246730427 
    } 
] 

回答

0

猫鼬有它确实验证的模式,但MongoDB的没有。 Mongo是无模式的,这意味着它完全不知道你的数据应该代表什么。因此,如果您的模式允许在过去进行此类更改,则清理所做的混乱是您的责任。你可以对一个只有旧方案才有的值进行查询,然后调用remove来除掉文档,否则它主要是手工劳动(或者放弃一切 - 这对开发也很有用)。