gpt4 book ai didi

php - 如果mongodb中不存在某个键,如何插入文档

转载 作者:可可西里 更新时间:2023-11-01 10:07:32 26 4
gpt4 key购买 nike

我一直在看类似 mongodb: insert if not exists 的问题,它给出了指向“upsert”行为的指针。但是我希望只有在找不到某个键的情况下才创建对象,即

if ( $collection->findOne ( array ('key'=>'the_key') ) == NULL ) {
$collection->insert ( array ('key' => 'the_key', 'content' => 'the_content' );
} else {
// else don't touch it, so upsert would not fit.
}

我为此使用 PHP mongodb 驱动程序。上面的代码只是为了我的目的而进行的演示。但是缺乏所需的原子性。这应该如何实现?

提前致谢!

最佳答案

因为无论如何你都应该为这个键定义一个唯一索引,你也可以使用它来防止多次插入具有这样一个键的对象。查看索引文档:

http://www.mongodb.org/display/DOCS/Indexes#Indexes-UniqueIndexes

这不是一个很好的解决方案 -- imo -- 但我能想到的唯一一个,如果你不想进行更新或出于任何原因不能进行更新。请记住,当您尝试再次插入具有相同键的对象时,您可能会收到一个错误,您必须处理这个错误。

关于php - 如果mongodb中不存在某个键,如何插入文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7954662/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com