我有一个数据库集合,我需要向客户发出1000个CRN号码。
我们使用MongoDB,我想将CRN号码发给电子邮件帐户。
所以这是我们当前的JSON
{
"CRN":516612
}
我需要在PHP中做的是查找没有“电子邮件”的地方:“电子邮件帐户”</ p>
我无法正常查找()。
答案 0 :(得分:1)
要选择没有设置电子邮件字段的文档,您可以执行以下操作:
db.collection.find({"email":{$exists:false}})
要将电子邮件地址原子地存储在符合此条件的文档中,您将执行以下操作:
db.collection.update({"email":{$exists:false}},{$set:{"email":"new@email.com"}})
如果您需要取回刚刚分配电子邮件的CRN,您可以使用findAndModify:
q = db.collection.findAndModify({query:{email:{$exists:false}},
update:{$set:{email:"new@email.com"}}})
q将包含您刚修改过的文档(使用CRN和_id但不包含电子邮件 - 您也可以使用选项来回复电子邮件。