如果文档没有';MongoDB Javascript不存在吗?
如果MongoDB不存在文档,如何创建文档如果文档没有';MongoDB Javascript不存在吗?,javascript,mongodb,Javascript,Mongodb,如果MongoDB不存在文档,如何创建文档 if(db.collection.find({_id: _id}) == null) { db.collection.insertOne({_id: _id}); } 这就是我所想的逻辑。请试试这个 > var _id = 'the-black-horse-london-pub-san-francisco'; > if (db.users.find({_id: _id}).count() == 0) {db.users.insert(
if(db.collection.find({_id: _id}) == null) {
db.collection.insertOne({_id: _id});
}
这就是我所想的逻辑。请试试这个
> var _id = 'the-black-horse-london-pub-san-francisco';
> if (db.users.find({_id: _id}).count() == 0) {db.users.insert({_id: _id})}
> db.users.find({})
{ "_id" : "the-black-horse-london-pub-san-francisco" }
请试试这个
> var _id = 'the-black-horse-london-pub-san-francisco';
> if (db.users.find({_id: _id}).count() == 0) {db.users.insert({_id: _id})}
> db.users.find({})
{ "_id" : "the-black-horse-london-pub-san-francisco" }
您可以通过一个空的upsert以原子方式执行此操作:
db.collection.update({_id: _id}, {}, {upsert: true});
如果具有匹配的
\u id
的文档已存在,则更新将是不可操作的,否则将创建文档。您可以通过空的upsert以原子方式执行此操作:
db.collection.update({_id: _id}, {}, {upsert: true});
如果具有匹配的
\u id
的文档已存在,则更新将是不可操作的,否则将创建一个文档。可能重复的@adeneo我已经尝试过了,但是我得到了错误MongoError:need remove或update
可能重复的@adeneo我尝试过了,但是我得到了错误MongoError:need remove或update
我在问题中的if语句只是伪代码,不起作用,我并不是在尝试创建一个新的ObjectId()
;我只是想找到一个_id或任何参数。它只是一个字符串一个例子是旧金山黑马伦敦酒吧@NathanO,我已经更新了我的答案,正确的方法可以通过检查cousor.count()
来完成。由于find
返回游标…我在问题中提出的if语句只是伪代码,不起作用,我不想创建一个新的ObjectId()
;我只是想找到一个_id或任何参数。它只是一个字符串一个例子是旧金山黑马伦敦酒吧@NathanO,我已经更新了我的答案,正确的方法可以通过检查cousor.count()
来完成。由于查找
返回游标。。。