我想知道在MongoDB中是否可以使用捕获组。
例如,假设我有一个用户集合,只有他们的全名,而我想要获取他们的名字和姓氏。
我考虑使用捕获组来实现这一目标:
使用MongoDB是可行的吗?如果是,你会如何实现?
例如,假设我有一个用户集合,只有他们的全名,而我想要获取他们的名字和姓氏。
我考虑使用捕获组来实现这一目标:
bulk.find( { full_name: /<first_name>(.*) <last_name>(.*)/i } ).upsert().replaceOne(
{
first_name: <first_name>,
last_name: <last_name>
}
);
bulk.execute();
使用MongoDB是可行的吗?如果是,你会如何实现?
db.collection.find()
返回一个(Javascript)游标对象,覆盖所有文档。游标上的forEach
方法将函数应用于每个结果,这使得对数据库进行一次调用。因此,如果您的集合有1234567个文档,则上述代码至少会对数据库进行1234568次调用。在MongoDB查询中,捕获组在(2.6)中不可用,因此您需要像答案一样做一些事情,可能需要分批处理。 - wdberkeley