如何不插入空对象,即在Mongoose模式中插入{ }
。
假设猫鼬的收藏如下
let testCollection = mongoose.Schema({
someData:{
type: []
}
插入猫鼬集合如下
let emptyObj = { }
new testCollection({
someData: emptyObj
}).save()
如果执行此代码,猫鼬收集将像这样
db.somecollection.find().pretty()
{
"someData" : [
{ }
]
}
仅在对象不为空时,如何在该数组中插入对象?
答案 0 :(得分:2)
如果没有其他字段,则可以使用三进制:
const isEmpty = !obj || Object.keys(obj).length;
new testCollection(isEmpty ? { someData: emptyObj } : {}).save()
否则,这可以通过对象散布和短路评估来完成,以避免重复和其他临时变量:
new testCollection({
someField: 'value',
...(isEmpty || { someData: emptyObj })
}).save()