我有这些文件: 药物,治疗,prontuarys和医疗记录。 所有这些文件都有一个用户ID字段,我用来查询,我的问题是我需要查询所有这些并按日期desc命令查询以创建患者的病史,我怎么能在mongodb上这样做?
答案 0 :(得分:0)
MongoDB不支持JOIN.Trying使用JOIN会破坏mongoDB的目的。
示例:强>
var myCursor = db.users.find({email:'xyz@example.com'});
var userres = myCursor.hasNext() ? myCursor.next() : null;
db.posts.find({uid : userres._id});
答案 1 :(得分:0)
mongodb有完全不同的思维方式来保存数据和获取。现在让我们考虑一下RDBMS系统中的模式。您将保留6个表,包括一个用户详细信息表。在获取患者的病史时,您需要加入所有具有性能损失和索引的表,并且必须加入和搜索。所以现在在mongodb中,您的要求是在搜索时显示患者的病史。您将拥有一个名为Patient的集合,其余信息将是嵌入式文档示例
{
_id : OBJECTID,
PersonalData : {Name : "Hello", DateOfJoining : Date},
Meds : [{Date : ""} , {Date : {}}],
Treatment : [{Date : "" , Type : ""}],
MedicalRecords : [{} , {}]
}
现在你的数据主要是readonly,你几乎不会更新现有的数据,你只会添加数据,其余的时间查询它。由于所有信息都保存在同一位置,因此速度非常快。一旦你获得了所有的记录,你可以在php中排序,这将更快。