【问题标题】:mongodb create new record - if a field does not existmongodb 创建新记录 - 如果字段不存在
【发布时间】:2018-02-05 00:23:04
【问题描述】:

我正在将数据从学生表处理到“文档”表
目前我有一个条件 doc.isDeleted==true?true:false
如何添加检查以查看 isDeleted 是否存在,如果不存在则将其视为 false ?

 db.students.find({"studentPicture":{$ne:null}}, { studentPicture:1,studentId:1,isDeleted:1,_id:0}).forEach(function (doc) {

db.documents.insertOne(
            { 
                "className" : "com.model.ModuleDocument", 
                "documentId" : doc.studentPicture, 
                "studentId":doc.studentId,
                "documentTypeStr" : "LICENCE",      
                 "isDeleted": doc.isDeleted==true?true:false
                });

});

这似乎错误/无法编译

"isDeleted": if (doc.isDeleted == null){false} else if(doc.isDeleted==true){true} else { false }

【问题讨论】:

  • 在不存在的字段上使用 upsert:true 和 $setOnInsert:{},如果为空则默认:false

标签: mongodb


【解决方案1】:

简单:

"isDeleted": doc.isDeleted === null ? false : (doc.isDeleted === true ? true : false)

【讨论】:

    猜你喜欢
    • 2021-04-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多