如何在尚未创建的时间序列 mongodb 集合中插入文档?
How do I insert a document on a time series mongodb collection that isn’t created yet?
我想将文档插入到时间序列集合中(只有在第一次插入文档时才会创建)。这是可能的?
使用类似 db.insertOne(upsert, params) 的东西,其中 'params' 表示它是一个时间序列集合。
如果时间序列集合 不存在,则无法使用 insert
命令创建它。
你必须执行一个 if 条件来检查集合是否预先存在并执行插入操作。
您可以使用 findOne
技巧,您只投影 _id
键并检查是否返回文档,尽管它会尝试 运行 创建数据库命令即使它存在但其中有 0 个文档,它也比 List-Collection
命令和循环遍历数据库中的集合更好。
var foundDoc = db.collection.findOne({}, {"_id": 1});
if (foundDoc == null) {
db.createCollection(
"collection",
{
"timeseries": {
"timeField": "timestamp",
},
});
}
我想将文档插入到时间序列集合中(只有在第一次插入文档时才会创建)。这是可能的? 使用类似 db.insertOne(upsert, params) 的东西,其中 'params' 表示它是一个时间序列集合。
如果时间序列集合 不存在,则无法使用 insert
命令创建它。
你必须执行一个 if 条件来检查集合是否预先存在并执行插入操作。
您可以使用 findOne
技巧,您只投影 _id
键并检查是否返回文档,尽管它会尝试 运行 创建数据库命令即使它存在但其中有 0 个文档,它也比 List-Collection
命令和循环遍历数据库中的集合更好。
var foundDoc = db.collection.findOne({}, {"_id": 1});
if (foundDoc == null) {
db.createCollection(
"collection",
{
"timeseries": {
"timeField": "timestamp",
},
});
}