Node.js 在节点中合并两个对象
这是我的结构Node.js 在节点中合并两个对象,node.js,typescript,Node.js,Typescript,这是我的结构 [{ "date": "2019-01-10T18:30:00.000Z", "time": "2019-01-11T04:37:49.587Z", "abc_Info": { "_id": "5c381da651f18d5040611eb2", "abc": 2.5, "guardian": "XYZ" } }] 我想要的是 [{ "date": "2019-01-10T18:30:00.000Z", "time": "2019-01-11T04:37:49.
[{
"date": "2019-01-10T18:30:00.000Z",
"time": "2019-01-11T04:37:49.587Z",
"abc_Info": {
"_id": "5c381da651f18d5040611eb2",
"abc": 2.5,
"guardian": "XYZ"
}
}]
我想要的是
[{
"date": "2019-01-10T18:30:00.000Z",
"time": "2019-01-11T04:37:49.587Z",
"abc": 2.5,
"guardian": "XYZ"
}]
代码
this._model.find(params, (err, docs) => {
if (err) {
var response = this.errorResponse("error", 500, null);
res.send(response);
} else {
for (var i = 0; i < docs.length; i++) {
const abc= {
"date": docs[i].date,
"time": docs[i].time,
"abc_Info":docs[i].abc_Info //this is object, i couldn't select value separately from this object
}
if (docs[i].abc_Info != undefined) {
abcArray.push(abc);
}
}
res.send(abc);
}
});
this.\u model.find(参数,(错误,文档)=>{
如果(错误){
var response=这个.errorResponse(“error”,500,null);
res.send(响应);
}否则{
对于(变量i=0;i
我正在尝试从对象中选择值,如“abc_Info”:docs[I].abc_Info.abc,但我无法执行此操作,它的抛出错误。
我有两种方法可以做到这一点
const abc= {
"date": docs[i].date,
"time": docs[i].time,
"abc":docs[i].abc_Info.abc,
"guardian":docs[i].abc_Info.guardian
}
改变这个
const abc= {
"date": docs[i].date,
"time": docs[i].time,
"abc":docs[i].abc_Info.abc,
"guardian":docs[i].abc_Info.guardian
}
希望这会有帮助
vard=[{
“日期”:“2019-01-10T18:30:00.000Z”,
“时间”:“2019-01-11T04:37:49.587Z”,
“abc_信息”:{
“_id”:“5c381da651f18d5040611eb2”,
“abc”:2.5,
“监护人”:“XYZ”
}
}]
d[0]=Object.assign(d[0],d[0].abc\u信息);
删除d[0]['abc_信息'];
删除d[0][''id'];
控制台日志(d)代码>希望对您有所帮助
vard=[{
“日期”:“2019-01-10T18:30:00.000Z”,
“时间”:“2019-01-11T04:37:49.587Z”,
“abc_信息”:{
“_id”:“5c381da651f18d5040611eb2”,
“abc”:2.5,
“监护人”:“XYZ”
}
}]
d[0]=Object.assign(d[0],d[0].abc\u信息);
删除d[0]['abc_信息'];
删除d[0][''id'];
控制台日志(d)代码>
设x={
“日期”:“2019-01-10T18:30:00.000Z”,
“时间”:“2019-01-11T04:37:49.587Z”,
}
让abc_信息={
“_id”:“5c381da651f18d5040611eb2”,
“abc”:2.5,
“监护人”:“XYZ”
}
//凝结
设z={…x,…abc_Info}
console.log(z)
设x={
“日期”:“2019-01-10T18:30:00.000Z”,
“时间”:“2019-01-11T04:37:49.587Z”,
}
让abc_信息={
“_id”:“5c381da651f18d5040611eb2”,
“abc”:2.5,
“监护人”:“XYZ”
}
//凝结
设z={…x,…abc_Info}
对不起,这是我的错误。我应该在if语句中声明object。现在开始工作了
if (docs[i].abc_Info != undefined) {
const abc= {
"date": docs[i].date,
"time": docs[i].time,
"abc_Info":docs[i].abc_Info
}
abcArray.push(abc);
}
对不起,这是我的错。我应该在if语句中声明object。现在开始工作了
if (docs[i].abc_Info != undefined) {
const abc= {
"date": docs[i].date,
"time": docs[i].time,
"abc_Info":docs[i].abc_Info
}
abcArray.push(abc);
}
使用Spread运算符,也可以使用Array.prototype.map,而不是for loop和push
let docs=[{
“日期”:“2019-01-10T18:30:00.000Z”,
“时间”:“2019-01-11T04:37:49.587Z”,
“abc_信息”:{
“_id”:“5c381da651f18d5040611eb2”,
“abc”:2.5,
“监护人”:“XYZ”
}
}]
让abcArray=docs.map({date,time,abc_Info})=>{
删除abc_信息。_id;
返回{日期,时间,…abc_信息}
});
console.log(abcArray)
使用扩展运算符,也可以使用Array.prototype.map,而不是for loop和push
let docs=[{
“日期”:“2019-01-10T18:30:00.000Z”,
“时间”:“2019-01-11T04:37:49.587Z”,
“abc_信息”:{
“_id”:“5c381da651f18d5040611eb2”,
“abc”:2.5,
“监护人”:“XYZ”
}
}]
让abcArray=docs.map({date,time,abc_Info})=>{
删除abc_信息。_id;
返回{日期,时间,…abc_信息}
});
console.log(abcArray)
我将元数据作为我的响应,如“$parent”我将元数据作为我的响应,如“$parent”