Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/mongodb/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何将对象键和值推送到数组_Javascript_Mongodb_Object - Fatal编程技术网

Javascript 如何将对象键和值推送到数组

Javascript 如何将对象键和值推送到数组,javascript,mongodb,object,Javascript,Mongodb,Object,我需要将键值对推送到新数组,并应该构建mongodb$match查询 const queryFormat = (payload) => { delete payload.userEventId var query = {} var res = [] for(key in payload) { if(typeof(payload[key])) { res.push({ [key]: payload[key] })

我需要将键值对推送到新数组,并应该构建mongodb$match查询

const queryFormat = (payload) => {
    delete payload.userEventId
    var query = {}
     var res = []
    for(key in payload) {
        if(typeof(payload[key])) {
       res.push({ [key]: payload[key] })
        }
        else {
            res.push({"$in" :{ [key]: payload[key] }})
        }
    }
    console.log(res[3])
    query['$match'] = {"$and" :res}
    console.log(query)    
}


const payload = {
    id :1,
    name : 'Alfred',
    location : 'moon',
    values : [{name: 'u',age:9}]
}
queryFormat(payload)
预期产出

{"$match":{"$and":[{id:1},{name:"Alfred"},{location:"moon"},{"values":{"$in":[{name:"u"},{age: 9}]} }]}}
{"$match":{"$and":[{id:1},{name:"Alfred"},{location:"moon"},{"values":{"$in":[{name:"u",age: 9}]} }]}}
我得到的输出

{"$match":{"$and":[{id:1},{name:"Alfred"},{location:"moon"},{"values":{"$in":[{name:"u"},{age: 9}]} }]}}
{"$match":{"$and":[{id:1},{name:"Alfred"},{location:"moon"},{"values":{"$in":[{name:"u",age: 9}]} }]}}
如何处理
谢谢

当前,您将密钥指定为
“key”

使用
[]
指定需要
键的值作为键

const queryFormat=(有效负载)=>{
删除有效负载.userEventId
变量查询={}
var res=[]
用于(输入有效负载){
res.push({[key]:有效负载[key]})
}
查询['$match']={“$and”:res}
console.log(查询)
}
常数有效载荷={
id:1,
姓名:“阿尔弗雷德”,
地点:“月亮”
}
查询格式(有效负载)