gpt4 book ai didi

javascript - 将 MongoDB 集合 ObjectId 转换为 _id "string"

转载 作者:可可西里 更新时间:2023-11-01 10:25:06 26 4
gpt4 key购买 nike

是否可以将 _id 字段内具有 _id :ObjectId("22332") 的 mongo 集合批量更新为字符串,以便 _id : "22332"改为使用

我正在使用 Meteor 并且我已经使用 mongoimport 导入了 csv 但它会自动将 ObjectId 添加为 ("22332") 我不想破坏默认的 meteor _id 功能并且必须将 ._str 在每个 javascript 文件上。

{
"_id" : ObjectId("5696cf153f8d6d60f723268b"),
"NTitle" : 18,
"field1" : "company announces Private Placement",
"field2" : "111099432820040602PP.pdf",
"field3" : "Vancouver, BC, June 2, 2004...... ",
"field4" : "2004-02-06",
"field5" : "YES"
}

我想要这个

{
"_id" : 5696cf153f8d6d60f723268b,
"NTitle" : 18,
"field1" : "company announces Private Placement",
"field2" : "111099432820040602PP.pdf",
"field3" : "Vancouver, BC, June 2, 2004...... ",
"field4" : "2004-02-06",
"field5" : "YES"
}

这是一个插入脚本。

Meteor.methods({
postInsert: function(postAttributes) {
check(Meteor.userId(), String);
check(postAttributes, {
title: String,
postContent: String,
timeToEnable: Date,
timeDisplay:String,
year: Number,
month: Number,
day: Number,
hours: Number,
timeString : String,
postNow: Date

});
var user = Meteor.user();
var post = _.extend(postAttributes, {
userId: user._id,
author: user.username,
submitted: new Date()
});
var postId = Posts.insert(post);
return {
_id: postId
};
}
});

最佳答案

这是解决我的问题的粗略示例。

从 phpmyadmin 导出 csv

在本地安装 mongodb

运行

mongoimport -h localhost:3001 --db meteor --collection news4 --type csv --file env_news.csv --fields NID,NTitle,NPDF,NDesc,NAdded,NActive

server/changeData.js

var test = News4.find().fetch();
var test1 = News4Final.find().fetch();

for (i = 0; i < test.length; i++){

News4Final.insert({_id : test[i]._id._str}); //Run this Firsttime.

//Run everything below after first run

//var submitted = new Date(test[i].NAdded);

/*News4Final.update(test1[i]._id, {$set: {
title: test[i].NTitle,
PDF : test[i].NPDF,
postContent : test[i].NDesc,
submitted : submitted

}},{multi: false});*/


}

愚蠢的本地数据库

mongodump --port 3001

将数据库发送到 compose.io mongodb 服务器。

mongorestore --host caneww.60.mon342.com:10654 --db enwave -u admin -p password dump/meteor

使用 meteor up 并设置数据库环境变量。同时在 mup.json 中将 mongodb setup 关闭为 false

"MONGO_URL": "mongodb://admin:password@cand4ate.40.mongolayer.com:10644,candidate.12.mongolayer.com:11274/enwdve?replicaSet=set-569886d8c55a7400102b",
"MONGO_OPLOG_URL": "mongodb://admin:password@candi4te.40.mongolayer.com:10254,candidate.12.mongolayer.com:1d274/local?authSource=enwddve"

关于javascript - 将 MongoDB 集合 ObjectId 转换为 _id "string",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34801743/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com