草庐IT

elixir-mongo

全部标签

mongodb - 多进程的 Upsert 重复键错误(Mongo>=3.0.4 WiredTiger)

全部我刚刚从我们的应用程序中收到一个奇怪的错误:当我用两个进程进行更新时,它提示在一个带有唯一索引的集合上出现重复键错误,但有问题的操作是一个upsert。案例代码:importtimefrombsonimportBinaryfrompymongoimportMongoClient,DESCENDINGbucket=MongoClient('127.0.0.1',27017)['test']['foo']bucket.drop()bucket.update({'timestamp':0},{'$addToSet':{'_exists_caps':'cap15'}},upsert=Tru

node.js - 在 Mongo GridFS 或 Amazon S3 中存储图像哪个更快?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭8年前。Improvethisquestion我正在做一个项目,每个用户都可以发布许多图片。我们使用带有Express和MongoDB作为数据库的Node.js。我想知道哪种方式在速度和可扩展性方面会更好:在MongoGridFS中存储图像或者在AmazonS3上存储图像,在MongoDB上存储图像路径。然后使用路径检索图像。感谢任何想法!谢谢, 最佳答案 这就像比较Go和Node

node.js - 在 Mongo GridFS 或 Amazon S3 中存储图像哪个更快?

关闭。这个问题是opinion-based.它目前不接受答案。想要改进这个问题吗?更新问题,以便editingthispost提供事实和引用来回答它.关闭8年前。Improvethisquestion我正在做一个项目,每个用户都可以发布许多图片。我们使用带有Express和MongoDB作为数据库的Node.js。我想知道哪种方式在速度和可扩展性方面会更好:在MongoGridFS中存储图像或者在AmazonS3上存储图像,在MongoDB上存储图像路径。然后使用路径检索图像。感谢任何想法!谢谢, 最佳答案 这就像比较Go和Node

mongodb - 是否可以迭代 mongo 游标两次?

换句话说,有没有办法将它倒回到开头?编辑我正在使用mongoshell和pymongo。 最佳答案 RubyAPI有rewind!方法可以完全满足您的需求。PythonAPI还有cursor.rewind()方法。PHPAPI还有cursor.rewind()方法。但是,Java或C++API都没有rewind方法。所有可以从officialAPIpage中找到. 关于mongodb-是否可以迭代mongo游标两次?,我们在StackOverflow上找到一个类似的问题:

mongodb - 是否可以迭代 mongo 游标两次?

换句话说,有没有办法将它倒回到开头?编辑我正在使用mongoshell和pymongo。 最佳答案 RubyAPI有rewind!方法可以完全满足您的需求。PythonAPI还有cursor.rewind()方法。PHPAPI还有cursor.rewind()方法。但是,Java或C++API都没有rewind方法。所有可以从officialAPIpage中找到. 关于mongodb-是否可以迭代mongo游标两次?,我们在StackOverflow上找到一个类似的问题:

mongodb - 你如何限制 Mongo 中的数组子元素?

假设我在Mongo中有以下数据模型:{_id:...,name:"...",obj:{...},list:[...],}现在假设,我的list数组很长,我不想每次都抓取整个文档。所以我想获取obj和name,但只获取list中的最后5个元素。你如何用Mongo做到这一点?我正在使用pymongo。 最佳答案 我认为您正在寻找$slice运算符。文档是here.您正在寻找的语法是这样的:db.coll.find({},{obj:1,name:1,list:{$slice:-5}});//last5请注意,默认情况下这也会返回_id字段

mongodb - 你如何限制 Mongo 中的数组子元素?

假设我在Mongo中有以下数据模型:{_id:...,name:"...",obj:{...},list:[...],}现在假设,我的list数组很长,我不想每次都抓取整个文档。所以我想获取obj和name,但只获取list中的最后5个元素。你如何用Mongo做到这一点?我正在使用pymongo。 最佳答案 我认为您正在寻找$slice运算符。文档是here.您正在寻找的语法是这样的:db.coll.find({},{obj:1,name:1,list:{$slice:-5}});//last5请注意,默认情况下这也会返回_id字段

java - 如何使用 Java Mongo DB 驱动程序版本 3 将 BasicDBObject 转换为 Mongo 文档?

在JavaMongoDB驱动程序版本3中,API与版本2相比发生了变化。因此,这样的代码不再编译:BasicDBObjectpersonObj=newBasicDBObject();collection.insert(personObj)集合插入仅适用于Mongo文档。处理旧代码我需要问的问题:将BasicDBObject转换为Document的最佳方法是什么? 最佳答案 我们可以转换BasicDBObject到Document通过以下方式publicstaticDocumentgetDocument(DBObjectdoc){if

java - 如何使用 Java Mongo DB 驱动程序版本 3 将 BasicDBObject 转换为 Mongo 文档?

在JavaMongoDB驱动程序版本3中,API与版本2相比发生了变化。因此,这样的代码不再编译:BasicDBObjectpersonObj=newBasicDBObject();collection.insert(personObj)集合插入仅适用于Mongo文档。处理旧代码我需要问的问题:将BasicDBObject转换为Document的最佳方法是什么? 最佳答案 我们可以转换BasicDBObject到Document通过以下方式publicstaticDocumentgetDocument(DBObjectdoc){if

node.js - Connect-mongo session 不会被自动删除

我有一个使用NodeJS、Express、MongoDB和connect-mongo的应用程序。我的问题是session过期时似乎不会自动从MongoDB中删除,因此db大小会增长直到磁盘已满。connect-mongo的开发者wroteacomment:connect-mongowillaskMongoDBtoremoveallthesessionsthathaveexpiredbeforethecurrentdate.但这似乎并没有发生在我的案例中。我的配置是:varexpress=require('express');varMongoStore=require('connect-