使用javascript将两个对象合并为一个
我试图为mongoose创建一个查询对象,所以使用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
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可以的话