Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/36.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_Node.js - Fatal编程技术网

使用javascript将两个对象合并为一个

使用javascript将两个对象合并为一个,javascript,node.js,Javascript,Node.js,我试图为mongoose创建一个查询对象,所以 let countryCondition = {}; searchQuery = { "$text": { "$search": searchString } }; query = { searchQuery, countryCondition }; console.log('$query:', query); 当我查询console.log时,我看到输出为 $query: { searc

我试图为mongoose创建一个查询对象,所以

let countryCondition = {};
searchQuery = {
    "$text": {
        "$search": searchString
    }
};
query = {
    searchQuery,
    countryCondition
};
console.log('$query:', query);
当我查询console.log时,我看到输出为

$query: { 
    searchQuery: { 
        '$text': { 
            '$search': '2017' 
         } 
    },
    countryCondition: {} 
}
但我需要

[{ '$text': { '$search': '2017' } }, {}]

正如Slavik提到的,您可能在寻找数组而不是对象:

[{ '$text': { '$search': '2017' } }, {}]
因为对象的参数必须有名称

试试这个:

let query = [
  searchQuery,
  countryCondition
];

正如Slavik提到的,您可能在寻找数组而不是对象:

[{ '$text': { '$search': '2017' } }, {}]
因为对象的参数必须有名称

试试这个:

let query = [
  searchQuery,
  countryCondition
];

如果确实需要将对象合并到一个对象中,请使用Object.assign

let countryCondition={
国家:“西班牙”
};
让searchQuery={
“$text”:{
“$search”:“sometext”
}
};
让query=Object.assign(searchQuery,countryCondition);

console.log(查询)如果确实需要将对象合并到一个中,请使用Object.assign

let countryCondition={
国家:“西班牙”
};
让searchQuery={
“$text”:{
“$search”:“sometext”
}
};
让query=Object.assign(searchQuery,countryCondition);

console.log(查询)如果你正在寻找一个条件,你的对象应该是这样的

{ $or: [ { text: "search text" }, { country: "xyz" } ] } 
如果你在寻找一个和条件,那么你可以按照迭戈的答案组合两个对象

{text : {}, country : {}}
可以得到第一个对象,如

let query = {};
query['$or'] = [];

query['$or'].push({'text' : 'some text'});
query['$or'].push({'country' : 'xyz'});

如果你正在寻找一个或一个条件,你的对象应该是这样的

{ $or: [ { text: "search text" }, { country: "xyz" } ] } 
如果你在寻找一个和条件,那么你可以按照迭戈的答案组合两个对象

{text : {}, country : {}}
可以得到第一个对象,如

let query = {};
query['$or'] = [];

query['$or'].push({'text' : 'some text'});
query['$or'].push({'country' : 'xyz'});

也许你需要
[{'$text':{'$search':'2017'},{}]
?@Slavik yes如果mongodb可以的话你可能需要
[{'$text':{'$search':'2017'},{}]
?@Slavik yes如果mongodb可以的话