0

我有一个数据库集合,其中包含 1000 个 CRN 号码,我需要向我们的客户发布这些号码。

我们使用 MongoDB,我想向一个电子邮件帐户发出 CRN 号。

所以这是我们当前的 JSON

{
"CRN":516612
}

我需要在 PHP 中做的是找到没有“电子邮件”的地方:“电子邮件帐户”

我无法正常 find() 工作。

4

1 回答 1

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 但不带有电子邮件 - 您也可以使用选项来取回电子邮件。

于 2012-06-17T18:24:25.330 回答