gpt4 book ai didi

Mongodb find->insert 和 count 有不同的结果

转载 作者:可可西里 更新时间:2023-11-01 09:50:34 26 4
gpt4 key购买 nike

我正在尝试通过进行查询并将结果存储在较小的集合中来过滤数据集合。但是,使用 count() 找到的记录数与集合中的记录数非常不同(count() 高得多)。我做错了什么吗?

这将返回大约 1.1 亿。

db.getCollection('ex').count({
'data.points': {$exists: true},
'data.points.points': {$exists: false},
}, {
'data.id': 1,
'data.author.id': 1
})

然后我执行这个。

db.getCollection('ex').find({
'data.points': {$exists: true},
'data.points.points': {$exists: false},
}, {
'data.id': 1,
'data.author.id': 1
})
.forEach(function (doc) {
db.s_uid_wid.insert(doc)
})

但这只给出了大约 500 万条记录。它们应该是完全一样的。这是怎么回事?

db.getCollection('s_uid_wid').count({})

编辑

  • 之前我在 robomongo gui 中运行它,它给人的印象是一切都很好。现在我在 mongo shell 中尝试了这个,我得到了这个

2016-02-04T00:39:21.735+0800 Error: getMore: cursor didn't exist on server, possible restart or timeout? at src/mongo/shell/query.js:116

最佳答案

下面解决了这个问题。完成插入大约需要一天时间。

db.getCollection('ex').find({
'data.points': {$exists: true},
'data.points.points': {$exists: false},
}, {
'data.id': 1,
'data.author.id': 1
}).addOption(DBQuery.Option.noTimeout)
.forEach(function (doc) {
db.s_uid_wid.insert(doc)
})

关于Mongodb find->insert 和 count 有不同的结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35180873/

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