Javascript js mongoDb复制项提供外部数据
我有一个数组:Javascript js mongoDb复制项提供外部数据,javascript,mongodb,mongoose,Javascript,Mongodb,Mongoose,我有一个数组: "data": [ { "photo": "no-photo.jpg", "_id": "5e9aabd9c975a10a7ee48476", "title": "Title", "description": "Description", "phone": "77477926783", "fromLocation": "5
"data": [
{
"photo": "no-photo.jpg",
"_id": "5e9aabd9c975a10a7ee48476",
"title": "Title",
"description": "Description",
"phone": "77477926783",
"fromLocation": "5e9aa8a9c975a10a7ee48474",
"toLocation": "5e9aa8bac975a10a7ee48475",
"price": 1000000,
"date": "1998-02-23T00:00:00.000Z",
"user": "5e91729f147813258ef1f373",
"createdAt": "2020-04-18T07:27:21.743Z",
"__v": 0,
"courses": [],
"id": "5e9aabd9c975a10a7ee48476"
}
]
我对…循环使用:
for (const item of res.advancedResults.data) {
console.log(item)
}
它给出了正常的:
{
"photo": "no-photo.jpg",
"_id": "5e9aabd9c975a10a7ee48476",
"title": "Title",
"description": "Description",
"phone": "77477926783",
"fromLocation": "5e9aa8a9c975a10a7ee48474",
"toLocation": "5e9aa8bac975a10a7ee48475",
"price": 1000000,
"date": "1998-02-23T00:00:00.000Z",
"user": "5e91729f147813258ef1f373",
"createdAt": "2020-04-18T07:27:21.743Z",
"__v": 0,
"courses": [],
"id": "5e9aabd9c975a10a7ee48476"
}
但当我复制它时,就像:
for (const item of res.advancedResults.data) {
console.log({...item})
}
它给出:
{ '$__':
InternalCache {
strictMode: true,
selected: {},
shardval: undefined,
saveError: undefined,
validationError: undefined,
adhocPaths: undefined,
removing: undefined,
inserting: undefined,
saving: undefined,
version: undefined,
getters: {},
_id: 5e9aabd9c975a10a7ee48476,
populate: undefined,
populated: undefined,
wasPopulated: false,
scope: undefined,
activePaths: [StateMachine],
pathsToScopes: {},
cachedRequired: {},
session: null,
'$setCalled': Set {},
ownerDocument: undefined,
fullPath: undefined,
emitter: [EventEmitter],
'$options': [Object] },
isNew: false,
errors: undefined,
_doc:
{ photo: 'no-photo.jpg',
_id: 5e9aabd9c975a10a7ee48476,
title: 'Title',
description: 'Description',
phone: '77477926783',
fromLocation: 5e9aa8a9c975a10a7ee48474,
toLocation: 5e9aa8bac975a10a7ee48475,
price: 1000000,
date: 1998-02-23T00:00:00.000Z,
user: 5e91729f147813258ef1f373,
createdAt: 2020-04-18T07:27:21.743Z,
__v: 0 },
'$locals': {},
'$$populatedVirtuals': { courses: [] },
'$init': true }
如何正确复制对象?无论何时执行任何操作,如find
,findOne
,等等,Mongoose都会将结果包装在Mongoose模型/文档中,该模型/文档将包含额外的元数据
如文件和-
是根据Schema
定义编译的奇特构造函数。一
模型的实例称为。模型负责
从基础MongoDB数据库创建和读取文档
Mongoose模型为用户提供了几个静态帮助函数。每个函数都返回一个
从外观上看,您正试图将mongoose模型像普通JavaScript对象一样进行获取/解构
有两种方法可以实现这一点-
在模型中使用{lean:true}
选项。find()
或
model.findOne()
方法或使用lean()
方法。然而这
包含一些您可以阅读的缺点
使用
方法将文档转换为普通javascript对象
因为您正在获取mongoose模型,所以更改为console.log({…item.toObject()})
以获取预期的behavior@KunalMukherjee你能把你的答案和过去的答案抄下来吗)我会批准的