草庐IT

mongodb.driver

全部标签

mongodb - bool 表达式与 Mongodb 中的字符串比较?

$cond在mongodb中是这样定义的:$cond:{if:{$gte:["$qty",250]},then:30,else:20}但是,我们可以对字符串这样做吗?我想用正则表达式比较文档中的字符串值,所以这样的事情可以工作:$cond:{if:{$match:[/sam/,"$name"]},then:30,else:20}/sam/是正则表达式,"$name"是我要比较的字段。作为旁注,这个表达式将被放入聚合管道中。 最佳答案 不,这目前是不可能的,并且是一个开放的featurerequest有一段时间了。根据您的需要,您可以

MongoDB、PyMongo - 根据查找条件聚合

我的数据库中有>8000条记录,这是其中之一:{"_id":ObjectId("57599c498c39598eafb781b9"),"_class":"vn.cdt.entity.db.AccessLog","url":"/shop/huenguyenshop/browse","ip":"10.0.0.238","sessionId":"86E5CF8E6D465A6EDFE7C9BF7890AA4B","oldSessionId":"86E5CF8E6D465A6EDFE7C9BF7890AA4B","cookie":"{\"sessionId\":\"86E5CF8E6D465A

json - 严格模式下的MongoDB日期格式

使用MongoDBjava驱动程序,在Document上应用toJson()方法将获得此文档的JSON表示形式,并将JsonMode设置为STRICT。以下纪元格式用于日期:{"$date":"dateAsMilliseconds"}使用mongoexport,我们得到一个ISO-8601格式。在官方文档(https://docs.mongodb.com/manual/reference/mongodb-extended-json/)中看到:在严格模式下,日期是一种ISO-8601日期格式,在模板YYYY-MM-DDTHH:mm:ss.mmm之后带有强制时区字段。MongoDBJSON

spring - 服务单元测试类中的 GridFsTemplate NullPointerException(技术堆栈 : Spring Data/Spring Boot/Micro Service/Mongodb )

我正在开发一个springboot应用程序。服务方法使用在服务中Autowiring的GridFsTemplate将PDF上传到mongodb存储库。此文件上传服务方法通过postman休息客户端按预期工作。但是,当我尝试运行单元测试时;调用相同的服务方法,SpringDataGridFsTemplate未初始化(在MongoDB中,您可以使用GridFS存储二进制文件)。这导致org.springframework.data.mongodb.gridfs.GridFsTemplate.store(...)抛出NullPointerException。拜托,你能帮忙吗,我已经被困在这几

mongodb - Concat 2 mongodb 集合

我正在尝试将2个集合合并为一个(不是合并)。我有2个具有相同集合和集合结构的数据库。例如:Collectiontest1db1:{"_id":ObjectId("574c339b3644a65b36e77359"),"appName":"App1","customerId":"Client1","environment":"PROD","methods":[]}Collectiontest2db2:{"_id":ObjectId("574c367d627b45ef0abc00e5"),"appName":"App2","customerId":"Client2","environmen

mongodb - 为 Bulk.Insert() -Mongoskin 获取插入的 ID

我在我的nodeJs应用程序中使用mongoskin将数据插入到mongo数据库中。我需要在数据库中插入文档数组并将插入记录的ID发送回客户端。我能够插入数据,但无法在结果对象中找到插入记录的ID。需要帮助才能在结果中找到insertedIds。我使用以下代码批量插入。db.collection('myCollection',function(err,collection){varbulk=collection.initializeUnorderedBulkOp();for(vari=0;i我的结果是一个BatchWriteResult对象类型。 最佳答案

mongodb - 关于 Redux 中的规范化

假设您正在创建Reddit,其中每个Subreddit都有很多Post并且每个Post有很多Comment。然后API响应可能如下所示:subreddits:[{title:"food"posts:[{id:"",body:"..",comments:[{id:".."body:"..",}]..morePosts},title:"culture"posts:[{id:"",body:"..",comments:[{id:".."body:"..",}]..morePosts},]但由于Redux不鼓励这种嵌套状态,因此我们在将数据结构提供给reducer之前对其进行规范化。然后,数据

MongoDB CDriver 如何更新索引 N 中的数组对象?

我有这样的文档:{"_id":ObjectId("5768e43"),"APPID":{"Number":0,},sessions:[{id:111111,"setOID":{"Number":0},"custID":{"Number":0},},{id:133333,"setOID":{"Number":2},"custID":{"Number":2},},{id:7777,"setOID":{"Number":2},"custID":{"Number":2},},]}我喜欢获取其id==133333(在[1]中)的session元素并能够用新值更新它并向它添加新元素所以它看起来像这

mongodb - 将 $match 聚合的子集结果保存在 mongoDB 的缓存中

我正在做一个探索mongoDB数据的网站。在我的数据库中,我存储了从智能手机捕获的GPS测量值。我正在使用各种查询来探索这些测量。我有一个按天分组并计算测量值的查询。另一个查询计算每种智能手机(iOS、Android、)的测量次数。等等。所有这些查询在它们的聚合管道中共享相同的$match参数。在此管道中,我对测量进行过滤,以便将重点放在时间间隔和地理区域中。有没有办法将$match中获取的子集保存在缓存中,数据库不需要每次都应用这个过滤器?我想优化查询的响应时间。一个查询的示例:cursor=db.myCollection.aggregate([{"$match":{"$and":[

javascript - Socket.IO 适配器在 MongoDB 断开连接时抛出无法捕获的超时错误

我正在trycatchmongodb断开连接事件。它适用于以下设置:simple.js'usestrict';varmongoose=require('mongoose');mongoose.connect('mongodb://localhost:27017/pnsockets',function(){console.log('mongooseconnected');});mongoose.connection.on('disconnected',function(){console.log('mongoosedisconnected');});如果simple.js正在运行并且我停