如何在 mongodb compass 中保存带有数组的 csv 文件?
How can I save the csv file with an array in mongodb compass?
问题图片:
我安装 csv 文件没有任何问题,但它将数组视为字符串。类别必须是一个数组。
示例代码
{ "_id":{"$oid":"609196655b92b7164b2cb016"},
"body":"test",
"category":"["Aksiyon Oyunları","Beceri Oyunları"]",
"date":"1617272388425",
"gamelink":"ssdsd",
"imglink":"deneme görseli",
"status":"published",
"title":"BUNU YAPIN TREN!",
"slug":"bunu-yapin-tren!" }
const postSchema = new Schema({
title: {
type: String,
required: true
},
category: {
type: [String],
required: true
}
});
module.exports = new model('posts', postSchema);
架构和此代码与节点 js
mongoose
.connect(MONGO_URL)
.then(() => console.log('DB Connected'))
.catch(err => console.log("Fail to connect mongodb ", err));
var ops = [];
post_schema.find({ "category": { "$type": 2} }, function(err, arr) {
arr.forEach(doc => {
let str = doc.category+``
str = str.split(',');
const arr = str.map(e=>e.replace(/"|\[|\]|\/gm,'').toString())
ops.push({
"updateOne": {
"filter": { "_id": doc._id },
"update": { "$set": { "category": arr } }
}
});
if ( ops.length > 0 ) {
console.log("BULKWRITE")
post_schema.bulkWrite(ops);
ops = [];
}
});
})
问题图片:
我安装 csv 文件没有任何问题,但它将数组视为字符串。类别必须是一个数组。
示例代码
{ "_id":{"$oid":"609196655b92b7164b2cb016"},
"body":"test",
"category":"["Aksiyon Oyunları","Beceri Oyunları"]",
"date":"1617272388425",
"gamelink":"ssdsd",
"imglink":"deneme görseli",
"status":"published",
"title":"BUNU YAPIN TREN!",
"slug":"bunu-yapin-tren!" }
const postSchema = new Schema({
title: {
type: String,
required: true
},
category: {
type: [String],
required: true
}
});
module.exports = new model('posts', postSchema);
架构和此代码与节点 js
mongoose
.connect(MONGO_URL)
.then(() => console.log('DB Connected'))
.catch(err => console.log("Fail to connect mongodb ", err));
var ops = [];
post_schema.find({ "category": { "$type": 2} }, function(err, arr) {
arr.forEach(doc => {
let str = doc.category+``
str = str.split(',');
const arr = str.map(e=>e.replace(/"|\[|\]|\/gm,'').toString())
ops.push({
"updateOne": {
"filter": { "_id": doc._id },
"update": { "$set": { "category": arr } }
}
});
if ( ops.length > 0 ) {
console.log("BULKWRITE")
post_schema.bulkWrite(ops);
ops = [];
}
});
})