我正在为mongo shell编写一个脚本来填充一些数据进行测试。
我有两个集合:club
和team
,在团队的文档中,它有一个对俱乐部的objectId引用。
我所做的如下:
db.club.drop();
var club_1_id;
db.club.insert({name:'Club 1',
venue:'Somewhere'},
function(err, doc){
club_1_id=doc._id;
});
db.team.drop();
var team_1_id;
db.team.insert({name:'Team 1', club:{id: club_1_id, name: 'Club 1'}},
function(err, doc){
team_1_id=doc._id;
});
我实际上并不感到惊讶,在团队文档中,俱乐部的ID被插入null
,导致回叫功能可能无法及时调用。
所以在这种情况下如何设置ID正确?
答案 0 :(得分:1)
您可以尝试以下方式:
db.club.drop();
var club_1_id = new ObjectId();
db.club.insert({_id:club_1_id, name:'Club 1',venue:'Somewhere'});
db.team.drop();
var team_1_id = new ObjectId();
db.team.insert({_id:team_1_id, name:'Team 1', club:{id: club_1_id, name: 'Club 1'}});
答案 1 :(得分:0)
var club_doc = {
_id: ObjectId()
name:'Club 1',
venue:'Somewhere'
}
var id = club_doc._id;
db.club.insert(club_doc);
var team_doc = {
_id: ObjectId(),
name:'Team 1',
club:{
id: id,
name: 'Club 1'
}
}
var teamID = team_doc._id;
db.team.insert(team_doc);