如何在mongodb插入查询中忽略空值

时间:2019-06-25 07:23:14

标签: mongodb flask mongodb-query

我正在尝试通过简单的注册表格将一些数据插入mongodb数据库。它包括名字,中间名和姓氏,其中中间名是可选的。现在,我只想在用户以表格形式提供中间名时才将中间名插入数据库。

fname = request.values.get('fname')
mname = request.values.get('mname')
lname = request.values.get('lname')
db.users.insert({'fname':fname, 'mname':mname, 'lname':lname})

我得到以下输出:

id:5d11c378f829d8938bf65e0b
fname:"test"
mname:""
lname:"user"

我想要这个(如果未在表单中提供mname):

id:5d11c378f829d8938bf65e0b
fname:"test"
lname:"user"

    <form action="/register" method="post">
      First name:<br>
      <input type="text" name="fname" required>
      <br>
       Middle name:<br>
      <input type="text" name="mname">  <!-- optional -->
        <br>
      Last name:<br>
      <input type="text" name="lname" required>
      <br><br>
      <input type="submit" value="Submit">
    </form>

return "Registered successfully!"

1 个答案:

答案 0 :(得分:0)

如何在插入之前检查空值?

var m = request.values.get(‘mname’);
mname = (m) ? m : null;

或者您可以尝试插入对象。

user.fname = request.values.get('fname')
var m = request.values.get(‘mname’)
user.lname = request.values.get('lname')
if (m){
  user.mname = m
}
db.users.insert(user)