如果MongoDB中不存在文档,如何创建文档?
if(db.collection.find({_id: _id}) == null) {
db.collection.insertOne({_id: _id});
}
这就是我在思考的逻辑。
答案 0 :(得分:5)
你可以用空的upsert原子地做到这一点:
{{1}}
如果已存在匹配{{1}}的文档,则更新将为无操作,否则将创建文档。
答案 1 :(得分:0)
请尝试这个
> 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" }