【发布时间】:2017-12-04 18:29:43
【问题描述】:
想写一个查询来检查 user_id=10 是否存在于 mongodb 中。如果user_id=10 已存在,则编辑其其他字段。如果不存在,则插入 user_id=10 以及其他字段。
我正在使用流星 js。
下面是代码:
Meteor.methods({
'dbs.update'(user_id,name,add)
{
if (Dbs.find){user_id:user_id}))
{
if(typeof name !=="undefined" && name)
{
Dbs.update({user_id:user_id},{$set: {name: name}});
}
if(typeof add !=="undefined" && add)
{
Dbs.update({user_id:user_id},{$set: {add:add}});
}
}
else
{
Dbs.insert({user_id:user_idname:name,add:add});
}
}
使用此代码,我可以更新现有记录。但如果不存在,则无法插入新记录。
db.collection.find({ "user_id" : { $exists : true}}): 检查字段 user_id 是否存在。那么是否有任何查询来检查字段 user_id 中是否存在特定的 id/值?
【问题讨论】:
-
您可以添加您现有 mongo 文档的示例吗?
-
{"_id" : "***", "user_id" : "", "name" : "", "add" : "" }
-
我应该用这个替换什么:" if (Dbs.find){user_id:user_id}))" 如果检查我传递的 user_id 的条件是否存在。如果不存在则它应该转到其他部分:“Dbs.insert({user_id:user_idname:name,add:add});”其他代码运行良好。