如何仅通过前 3 个数字从 mongodb 集合中查询数据

How to query data from mongodb collection by just the first 3 numbers

我的 mongodb 中有一个名为 pnumber 的集合,当我执行 db.pnumber.find() mongo shell

时看起来像这样
{ "_id" : ObjectId("57696e03b9c614e1143c759e"), "pnumber" : NumberLong("5037816575") }
{ "_id" : ObjectId("57696e03b9c614e1143c759f"), "pnumber" : NumberLong("5087368074") }
{ "_id" : ObjectId("57696e03b9c614e1143c75a0"), "pnumber" : NumberLong("8055019263") }
{ "_id" : ObjectId("57696e03b9c614e1143c75a1"), "pnumber" : NumberLong("2153334813") }
{ "_id" : ObjectId("57696e03b9c614e1143c75a2"), "pnumber" : NumberLong("5592842086") }
{ "_id" : ObjectId("57696e03b9c614e1143c75a3"), "pnumber" : NumberLong("4356696916") }
{ "_id" : ObjectId("57696e03b9c614e1143c75a4"), "pnumber" : NumberLong("9545935012") }
{ "_id" : ObjectId("57696e03b9c614e1143c75a5"), "pnumber" : NumberLong("8083661362") }
{ "_id" : ObjectId("57696e03b9c614e1143c75a6"), "pnumber" : NumberLong("6065240853") }
{ "_id" : ObjectId("57696e03b9c614e1143c75a7"), "pnumber" : NumberLong("4236768328") }
{ "_id" : ObjectId("57696e03b9c614e1143c75a8"), "pnumber" : NumberLong("9705354839") }

我正在使用通过 mongoose 连接到此数据库的平均堆栈应用程序。

我想要一个带有搜索按钮的输入字段,当用户输入区号时,会从与该区号匹配的所有条目的集合中弹出一个列表,并有一个下载按钮创建一个包含所有这些条目的 csv。

我有:

var csv = require('express-csv'); 

在我的 app.js 文件中。

如有任何信息,我们将不胜感激。

db.pnumber.find( { pnumber: /^123/ } )

这会产生所有以值 123 开头的响应。 如果您将表格与此绑定,则响应应该是您要查找的结果。

如果您想匹配字符串,请使用 $regex 运算符

db.getCollection('blah').find({'phoneNumber':{'$regex': /^phoneNumber/}})

如果您想匹配数字,请使用 $where 运算符。

db.getCollection('blah').find({$where: "/^970*/.test(this.phoneNumber)"})