如何将排序规则选项传递给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的测试文件后发现了这个>
更多推荐
如何将排序规则选项传递给nodejs mongodb驱动程序?
发布评论