最新消息:雨落星辰是一个专注网站SEO优化、网站SEO诊断、搜索引擎研究、网络营销推广、网站策划运营及站长类的自媒体原创博客

如何将排序规则选项传递给nodejs mongodb驱动程序?

网站源码admin15浏览0评论

如何将排序规则选项传递给nodejs mongodb驱动程序?

如何将排序规则选项传递给nodejs mongodb驱动程序?

[尝试使用nodejs驱动程序将归类选项传递给这样的批量写入操作。

var bulk = module.client.collection('objects').initializeUnorderedBulkOp();
for (var i = 0; i < scores.length; i += 1) {
    bulk.find({ _key: key, value: values[i] })
        .collation({ locale: 'en_US', numericOrdering: true })
        .upsert()
        .updateOne({ $set: { score: parseFloat(scores[i]) } });
}
await bulk.execute();

但是似乎collation在查找对象上不存在。

(node:2520) UnhandledPromiseRejectionWarning: TypeError: bulk.find(...).collation is not a function

MongoDB文档说它应该在.find.collation/

有没有一种方法可以使用nodejs驱动程序?

回答如下:

如果使用collection.bulkWrite,则可以使用

var updates = [];
for (var i = 0; i < scores.length; i += 1) {
    updates.push({
        updateOne: {
            q: { _key: key, value: values[i] },
            u: { $set: { score: parseFloat(scores[i]) } },
            upsert: true,
            collation: { locale: 'en_US', numericOrdering: true },
        },
    });
}
await module.client.collection('objects').bulkWrite(updates);

在深入研究https://github/mongodb/node-mongodb-native/blob/master/test/functional/collations.test.js#L579的测试文件后发现了这个>

发布评论

评论列表(0)

  1. 暂无评论