草庐IT

node.js - 如何在 MongoDB 的正则表达式中搜索与给定字符串的匹配项?

我有一个通过Mongoose和Node.js访问的Mongo数据库。数据库包含一系列名为Machine的项。每个Machine都有一个存储为String的字段,但代表一个正则表达式。我们想要获取一个给定的字符串(由用户提供)并根据数据库中的所有正则表达式检查它以找到任何可能的匹配项。我知道您可以通过正则表达式使用如下内容搜索数据库:Machines.find({subject:{$regex:hi}}).exec(function(err,results){//dostufftoresults});但是我该如何做相反的事情呢? 最佳答案

javascript - 如何返回符合 Mongodb 给定条件的子文档数组?

给定一个集合,例如:{"_id":"XXXX","JobId":[100],"PersonalDetails":[{"Level":1,"Zone":[{"Id":1,"Code":"XXXXXXXX","IsAvailable":true},{"Id":45,"Code":"ZZZZZZZZZ","IsAvailable":false}]}],"Timestamp":ISODate("2015-11-01T00:00:00.000Z")}我需要获取所有IsAvailable标志设置为true的区域ID和代码。我尝试了以下方法:vardetails=db.test.find({JobI

node.js - 如何检查 IP 是否在给定的 IP 范围内?

我有40个缺少IP范围,如下图所示,需要找到具有该IP范围的IP详细信息。如何在5毫秒内高效完成。需要使用哪个数据库来存储数据和查询?尝试了以下方法。我尝试过以下解决方案,但它对内存数组很有效,我需要在40行中找到缺少的行,因此,它不会有效。Howtocheckifagivenipfallsbetweenagiveniprangeusingnodejs还尝试使用MongoDB,在mongo集合中存储了所有40个缺少的行,使用了$gte和$lte查询。但它的响应时间超过150毫秒与本地mongo服务器。对我来说,响应时间应该少于5毫秒。 最佳答案

mongodb - 查找包裹给定点 MongoDB 的多边形的最佳方法?

我有一个任意点代表房子的位置。在我的MongoDB中,我有一个集合,其中包含代表不同区域的多边形(类似于邮政编码)。我想返回集合中给定点在该区域内的区域。目前我正在将点转换成一个“小”框并使用这样的查询(按预期工作):(被框化的点:[56.121371,13.114797])db.areas.find({"area":{"$geoIntersects":{"$geometry":{"type":"Polygon","coordinates":[[[56.120371,13.113797],[56.120371,13.115797],[56.122371,13.115797],[56.1

javascript - 给定一个 ID 列表,查询集合中不存在哪些 ID 的最佳方法是什么?

我有一组文档,其中包含唯一的id字段。现在我有一个id列表,其中可能包含一些不存在于集合中的id。从列表中找出这些ID的最佳方法是什么?我知道我可以使用$in运算符来获取列表中包含ID的文档,然后与给定的ID列表进行比较,但是有更好的方法吗? 最佳答案 我想您的收藏中有以下文档:{"_id":ObjectId("55b725fd7279ca22edb618bb"),"id":1}{"_id":ObjectId("55b725fd7279ca22edb618bc"),"id":2}{"_id":ObjectId("55b725fd72

node.js - MongoDb Node.js 驱动程序 - 没有给定字段的 findOneAndUpdate() 行为

我注意到mongodbnode.js驱动程序有一个奇怪的行为findOneAndUpate()...我错误地只给了它一个objectId字符串....认为它会默认搜索文档的_id字段....所以,当我使用User.prototype.updatePetArray=function(user,petElement){returnthis.collection.findOneAndUpdate(user,{$push:{pets:petElement}},{returnOriginal:false,maxTimeMS:QUERY_TIME});}它拉取并修改了这个文档,根本没有这个编号:{

MongoDB 删除没有给定字段的文件

你好,我有一个新手问题,我想...我环顾四周,但找不到答案我有以下users集合,我想在重新定义我的用户模型之前清理它们-如何删除所有没有名字或姓氏字段的文档收藏之后?{"_id":ObjectId("57615777a629d16a4c604cce"),"firstName":"Hector","lastName":"yoyo","email":"mail@test.tld","createDate":ISODate("2016-06-15T13:26:15.900Z")}{"_id":ObjectId("57615849a629d16a4c604ccf"),"firstName":

mongodb - 计算符合给定条件的子文档

我的Mongo集合具有以下形式的文档:{..."notifications":[{"enabled":true,"groups":["NG1","NG3"]},{"enabled":false,"groups":[]}]}其中enabled是bool值,groups是字符串列表。我需要执行查询以确定notifications中有多少条目具有enabled=true并在groups中包含给定字符串(例如NG3).以前,没有enabled属性(稍后根据要求引入),我的查询很简单db.collection.find({"notifications.groups":"NG3"})我尝试了一些与

node.js - 如果键不存在,则将值推送到数组 Mongoose

这个问题在这里已经有了答案:MongooseUniquevaluesinnestedarrayofobjects(2个答案)关闭8年前。给定Mongoose模式varSomeSchema=newSchema({//...members:[{name:String,username:String}]});在我的代码中,我想将对象推送到members,但前提是数组中还没有给定的用户名。我怎样才能用Mongoose做到这一点?

regex - 如何在 Mongoose 中查找包含带空格的给定子字符串的所有结果

我找到了很多解决这个问题的方法,但没有一个有效。假设我有以下架构:varSchema=newSchema({name:String,url:String});假设我的条目之一是:{name:"ProductandServices",url:"www.randomurl.com"}我希望能够通过子字符串检索此结果,例如"andservices"或"productand"等等。我尝试了以下(partialToSearch是部分字符串):Schema.find({name:{"$regex":partialToSearch,"$options":"i"}},function(err,res)