如果我为用户名字段创建索引,哪个文档更适合查询特定用户?
嵌套的一个:
{
account:{
username:'zhengyi',
passwd:'zhengyi',
friends:[]
}
dev:{
os:'iOS',
ver:'6.0',
hw:'iPhone2,1'
},
app:{
ver:'1.0',
pver:'1.0'
}
}
未嵌套的:
{
username:'zhengyi',
passwd:'zhengyi',
friends:[],
dev:{
os:'iOS',
ver:'6.0',
hw:'iPhone2,1'
},
app:{
ver:'1.0',
pver:'1.0'
}
}
最佳答案
没关系
您正在做:
db.collection.findOne({"username":"zhengyi"});
要么
db.collection.findOne({"account.username":"zhengyi"});
在dot notation上阅读以获取嵌入式文档
同样,索引使用点符号到达文档内部:
db.collection.ensureIndex({"username": 1});
要么
db.collection.ensureIndex({"account.username": 1});