我可以查询MongoDB Stitch数据库,但得到不同的结果。
如果我控制台记录我的所有数据,它会显示如下(注意“id:Uint 8数组(12)[ 94、67、83...] “
item.find().asArray()
.then(data => {
console.log("Found docs", data)
});
但是,如果我将其作为数组查询:
// Find database documents
item.find({})
.toArray()
.then(xyz =>
this.setState({xyz})
)
以下是我收到的数据,并声明:
{
"xyz": [
{
"_id": {
"id": "DataView(12)",
"get_inc": "",
"getInc": "",
"generate": "",
"generationTime": 1581470496,
"inspect": "toString"
},
"company": "AAA",
"url": "http://www.google.com",
"loc": "sac, ca",
"gender": "female",
"tags": "clothes"
},
"{_id: {…}, company: \"BBB\", gender: \"male\", loc: \"sf…}",
"{_id: {…}, company: \"ZZZ\", gender: \"male\", loc: \"oa…}"
]
}
我想获取objectID(应该类似于“5e 435320 e45 ce 24954381 c52”),它似乎是“bsonType”的唯一键:“objectId”模式,我假设我需要将它转换为字符串(?),这样我就可以Map它,并将它用作唯一键,以便稍后在表中使用(“列表中的每个子元素都应该有一个唯一的“key”prop”)。
谢谢!
2条答案
按热度按时间6tdlim6h1#
已经是ObjectId了。
要获取字符串值,只需使用
toString()
e5nqia272#
或者使用聚合:
https://www.mongodb.com/docs/manual/reference/operator/aggregation/set/#overwriting-an-existing-field
https://www.mongodb.com/docs/manual/reference/operator/aggregation/toString/