如何以相反的顺序将文档从一个集合添加到另一个集合?

Posted

技术标签:

【中文标题】如何以相反的顺序将文档从一个集合添加到另一个集合?【英文标题】:How to add documents from one collection to another in reverse order? 【发布时间】:2015-11-13 06:15:28 【问题描述】:

对 pymongo 非常陌生。我有一个数据库“db”,其中包含一个集合“数据”,我使用一个程序从纯文本文件中填充该集合。另一个程序大约每小时运行一次,并检查日志文件中的新条目。它查看日志文件中的最后一个条目并将其转换为 mongo 文档“newdata”,然后将该文档的日期时间与“数据”中最新条目的日期时间进行比较。如果“newdata”的日期时间更大,它会将“newdata”添加到另一个集合“xdata”中。

这个循环一直运行到日期相等,此时我希望它从“xdata”中获取文档,并将它们以与“xdata”中的顺序相反的顺序添加到“data”中。我正在尝试这样做:

db.xdata.find().sort([["_id", -1]]).forEach(function(doc) 
        db.data.insert(doc)
    )

然后我用db.xdata.remove() 清除“xdata”。 当我尝试运行它时,我得到了

SyntaxError: 无效语法

用箭头指向第一个''。

非常感谢任何帮助。

【问题讨论】:

可能是骗子:***.com/questions/8109122/… 【参考方案1】:

尝试将排序上的方括号更改为花括号:

db.xdata.find().sort("_id", -1).forEach(function(doc) 
    db.data.insert(doc)
)

【讨论】:

我不认为这实际上是一个有效的对象,我相信python在以这种方式定义字典时需要同时定义属性及其值。

以上是关于如何以相反的顺序将文档从一个集合添加到另一个集合?的主要内容,如果未能解决你的问题,请参考以下文章

使用 Mongoose 将文档移动到另一个集合

以相反的顺序将一个向量复制到另一个向量

Firestore - 如何在将文档添加到集合后获取文档 ID

如何根据 Firestore 数据库中的字段从集合中搜索文档?

以编程方式将 UILabel 添加到集合单元,快速

运行MongoDB查询以更新循环中的序列字段