我有2个mongodb集合,stu_creds
和stu_profile
。我首先要从stu_creds
中检索所有学生记录,其中stu_pref_contact
是电子邮件,然后是那些stu_id
s我想从stu_profile
检索完整的个人资料。问题是,第一个查询返回一组JSON文档,每个文档都有一个字段,即stu_id
。这里是我的查询和结果:如何从JSON文档数组中提取字段数组?
db.stu_creds.find({"stu_pref_contact" : "email"}, {'_id' : 1})
结果:
[{ "_id" : ObjectId("51927cc93080baac04000001") },
{ "_id" : ObjectId("51927d7b3080baac04000002") },
{ "_id" : ObjectId("519bb011c5c5035b2a000002") },
{ "_id" : ObjectId("519ce3d09f047a192b000010") },
{ "_id" : ObjectId("519e6dc0f919cfdc66000003") },
{ "_id" : ObjectId("51b39be0c74f0e3d23000012") },
{ "_id" : ObjectId("51b39ca9c74f0e3d23000014") },
{ "_id" : ObjectId("51b39cb7c74f0e3d23000016") },
{ "_id" : ObjectId("51b39e87c74f0e3d23000018") },
{ "_id" : ObjectId("51b39f2fc74f0e3d2300001a") },
{ "_id" : ObjectId("51b39f47c74f0e3d2300001c") },
{ "_id" : ObjectId("518d454deb1e3a525e000009") },
{ "_id" : ObjectId("51bc8381dd10286e5b000002") },
{ "_id" : ObjectId("51bc83f7dd10286e5b000004") },
{ "_id" : ObjectId("51bc85cbdd10286e5b000006") },
{ "_id" : ObjectId("51bc8630dd10286e5b000008") },
{ "_id" : ObjectId("51bc8991dd10286e5b00000a") },
{ "_id" : ObjectId("51bc8a43dd10286e5b00000c") },
{ "_id" : ObjectId("51bc8a7ddd10286e5b00000e") },
{ "_id" : ObjectId("51bc8acadd10286e5b000010") }]
的事情是,我不认为我可以用上面的数组作为$in
条款的一部分,我的第二查询检索学生档案。我必须遍历数组,然后创建一个新的数组,它只是一个对象ID数组,而不是一组JSON文档。
有没有更简单的方法来做到这一点?
这工作就像一个魅力!谢谢。 –