我有一个JSON文档。当我尝试在弹性搜索中建立索引时,我遇到了一个异常
index1没有默认映射
curl -XPOST localhost:9200/index1/talk?pretty=1 -d '
{
"_id" : ObjectId("503b29efe4b032e338f0581b"),
"_oid" : NumberLong(1182053),
"_ugc" : false,
"_v" : 22,
"c" : [
"Destin
我的应用程序中有一个搜索字段,我想用多种方式查询我的收藏。用户输入的搜索查询需要匹配name字段或url字段。例如,一个如下所示的文档:
{ "name": "Google Maps", "url": "http://maps.google.co.uk/" }
如果我输入google,//maps,maps google等,则应该匹配-您可以看到图片。只需对多个字段进行不区分大小写的正则表达式搜索
我知道如何使用regex搜索字段中不区分大小写的值,但我对MongoDB(以及一般的数据库)是新
我想将颜色从用户收藏复制到汽车收藏。我使用的外键是userID
> db.test1.User.find()
{ "_id" : ObjectId("515f7db83f71d6bcb1c41a48"), "age" : 33, "Color" : "blue" }
{ "_id" : ObjectId("515f7dc03f71d6bcb1c41a49"), "age" : 52, "Color" : "red" }
{ "_id" : ObjectId("515f7dc43f71d6b
从CSV导入mongoimport后,我得到了大量以字符串形式存储的布尔字段。
字符串值均为真、假或空
对于整个集合,如何将这些字段转换为适当的布尔值?循环遍历应转换的不同字段,并生成包含当前键和应转换值的查询。对于与查询匹配的每个文档,将字符串值替换为布尔值
var boolean_fields = ['Key_a1','Key_a2', ..,'Key_an'];
var queryFunction = function(key, value){
var expression = {
我正在尝试根据日期范围聚合字段。我不知道如何创建一个$cond表达式来计算多个表达式。我试图使用逻辑$or运算符,但运气不佳
db.project.aggregate(
{ $match : { brand : 4 } },
{ $project : {
_id : 0,
brand : 1,
count : 1,
day : 1}
},
{ $group : {
_id : "
我有一个疑问:(doctrine2odm)
它给了我以下日期的文档:(示例)
例如,如果我将限制更改为20,我将获得以下日期:
2014-03-31 01:52:01
2014-03-31 01:51:42
2014-03-31 01:51:16
2014-03-31 01:51:06
我的问题是为什么在第一个查询中跳过这些日期?
mongoDB是否收集符合条件的第一批文档,然后对它们进行排序?
那太愚蠢了
我更改了查询中的顺序(排序后的条件),但似乎没有任何效果。。WTF$near将为您提供
我的mongoDB中有一些数据,如下所示
现在我想像这样检索数据
按日期、环境、TCID分组
最长时间
选择日期、环境、TCID、状态
按日期订购,TCID
我试过这样的东西
{
$group :
{
_id: { DATE: "$DATE", TCID: "$TCID", ENVIRONMENT: "$ENVIRONMENT" }
DATE: { $last : "$DATE" }
TIME: { $last : "$TIME" }
我是MondoDB的新手,刚刚在Windows8中进行了第一次设置。我遵循了一个教程,它告诉我从命令行运行mongod.exe,这似乎很好。但是,当我运行使用MongoDB的服务器(我在Visual Studio 2013中使用ASP.NET MVC 5)时,是否必须始终打开此命令提示符
我一直在看另一台在Windows XP中运行MongoDB的PC,它以前是由一位专家安装的(但很遗憾,我现在无法联系他),并且在服务器上运行良好。但是,没有打开命令提示符。他会怎么做
如果我在我的电脑和他的电脑
我目前正在开发一个应用程序,如果文档的位置在一定的距离范围内,它可以从集合中获取特定数量的文档。我正在使用Codeigniter的活动记录库,生成的查询如下
db.updates.find({locs: { $near: [72.844102008984, 19.130207090604 ], $maxDistance: 5000 }, posted_on : { $lt :1398425538.1942 },}).sort( { posted_on: -1 } ).limit(10).toA
我使用ZF2+条令+条令模块。我将个人文件嵌入房屋文件:
/**
* @ODM\Document
*/
class Custelement{
/** @ODM\EmbedOne(targetDocument="Person") */
protected $person;
所以
文档的公共字段House被保存并填充。我使用名为person的字段集编辑嵌入的文档字段,因此有一组输入元素,分别是name=person[firstName]和name=person[lastName
在heroku云服务器上使用此find命令时:
users.find({$and: [
{loc: { $nearSphere: user.loc.coordinates,
$maxDistance: user.dis / 3959}},
{age: {$gte: user.age_down}},
{age: {$lte: user.age_up}},
{gender: user.interested},
{interested: user.gender}]})
我得到找不到任
我从一次音乐活动中收集了大约10万条推特。你可以想象,有很多转发。为了进行适当的分析,我想对每个转发进行计数,然后删除转发或删除重复的转发。我找不到一种在NoSQL中实现的方法,所以在这里寻求帮助和建议。使用MongoDB和Robomongo GUI客户端
我所说的重复是指具有相同文本字段的条目
集合包含在这种类型的结构中:
{
"_id" : ObjectId("53cd28ea51f4fbe9f6e04798"),
"name" : "Positivus Festival",
考虑以下场景:
100%的时间我的查询将在查询中包含a,有时也包含b
90%的查询将是:
{a:"somevalue"}
百分之十
{a:"somevalue",b:"somevalue"}
如果只使用复合指数(如果有的话)来满足这一点,会有什么负面影响
{
"v" : 1,
"key" : {
"a" : 1,
"b" : 1
},
"name" : "a_1_b_1",
"ns" : "foo.bar
我们刚刚开始使用Mongodb替换应用程序中的许多核心sql表。我们希望使用同一个Mongodb实例来存储性能和使用率数据,以替代google analytics。但是,我们不希望此集合自动使用可能已进入主集合的系统内存
有没有办法控制mongodb的自动缓存功能 MongoDB无法控制其缓存,它完全是基于LRU的操作系统。我不相信目前有任何程序能够控制MongoDB上单个集合可以使用多少内存。考虑到这一点,您可以很好地规划您的应用程序,因此它应该是可行的;虽然我对您的用例知之甚少,但是……首先
看不到MongoDB是否受SonarQube支持。如果有人能帮忙,那就太好了。谢谢。不支持MongoDB。选中此选项-不支持MongoDB。检查这个-
我有以下格式的文件:
{
"_id" : <id of document>,
"inventory" : [
{
"entity_id" : "<id>",
"ad_type" : "ADTYPE"
}
]
}
{
“_id”:,
“库存”:[
{
“实体id”:“,
“广告类型”:“广告类型”
}
]
}
我不确定这在mongo中是否可行,但我正在尝试在上面
我有两个不同的meteor应用程序。app1在3000上运行,app2在3002上运行。所以我的问题是app1和app2应该使用相同的数据库。我尝试用“导出MONGO_URL”连接app2=mongodb://localhost:3001/app1“但是没有结果
我如何才能做到这一点?meteor创建的标准数据库称为meteor,因此我认为您应该从以下内容开始第二个meteor实例:
MONGO_URL=mongodb://localhost:3001/meteor meteor -p 3002
我想在mongodb上创建一个碎片,但失败了。这是产生的错误:
> cluster = new ShardingTest({"shards" : 3,"chunksize" : 1 });
Resetting db path '/data/db/test0'
2015-11-23T16:57:05.375+0800 Error: boost::filesystem::create_directory: No such file or directory: "/data/db/test0"
我是Accumulo的新手。我们正在将MongoDB迁移到Accumulo数据库。我们从mongoDB得到了一个包含所有表信息的文件。Accumulo中是否有任何选项可用于导入文件并自行创建表?通过API文档,我知道我们可以通过shell脚本和编程方式创建表。有人能告诉我Accumulo有什么导入选项可用于导入文件和创建表吗?没有本机方法。MongoDb处理的JSON文档的布局/模式与Accumulo完全不同。您可以尝试使用以下内容,但这需要更改MongoDB数据的格式。如果你不能做到这一点,你
我需要对集合中的所有文档进行分析。由于集合可能有数百万个文档,因此我希望跳过中间省略范围的批,例如
首先加载1000文档
跳过下一步10000文档
加载下一个1000文档
等等
对于任何集合,即使我不知道它是按哪个键排序的(以获得一致的结果),我如何才能做到这一点呢?您是否询问mongoDB中的限制?您可能需要使用在内存中加载数据,然后在块中迭代数组,但我认为这不是一个好的选择。
标签: Mongodb
mongodb-queryaggregation-framework
给定这样的文档结构:
{
values: [
{ value: 10 },
{ value: 20 },
{ value: 30 }
]
}
我想搜索数组中最大值与查询匹配的所有文档
如果我搜索最大值小于25的所有文档,那么上面的示例将不匹配,因为30>25
我如何才能做到这一点?这是一项针对聚合的工作。您需要创建一个包含日期数组的管道,它将返回一个文档数组,数组中的每个日期对应一个文档数组
例:
将成为
[{"_id" : 1, "dates.
标签: Mongodb
spring-dataspring-data-mongodbspring-mongodb
我有这样的疑问
@Query(value = "{'statusHistories':{$elemMatch:{'status':{$in:['PROCESSABLE']}}},'created' : { '$gt' : { '$date' : ':#{#dateFrom}' } , '$lt' : { '$date' : ':dateTo'}}}", count = true)
Long countMe(@Param("dateFrom") Date datefrom, @Param(
标签: Mongodb
mongodb-querylaravel-5.1
我对mongodb只有一个用途
下面是我的样本记录
{
"_id" : ObjectId("56fa21da0be9b4e3328b4567"),
"us_u_id" : "1459169911J4gPxpYQ7A",
"us_dealer_u_id" : "1459169911J4gPxpYQ7A",
"us_corporate_dealer_u_id" : "1459169173rgSdxVeMLa",
"us_oem_u_id" : "1459169
我的MongoDB查询有一个问题,我需要在我的字段内搜索,只从单词的开头搜索,而不是100%匹配单词
在我遇到这个问题之前,我使用了$regex,这里没有问题,唯一的问题是它比$text搜索慢很多,所以现在我希望有一个可以帮助我
这是我今天的问题
db.getCollection('product').aggregate([
{$match : {$text: { $search : "\"samsung\" \"evo\" } } },
{$project: { _id: 0, C
在mongo中,如果条件匹配,如何从列表中返回所有match dict元素
以下是我的数据:
{"packages": [
{"package_name" : "abc", "installed_date" : "2016-08-03"},
{"package_name" : "def", "installed_date" : "2016-08-04"},
{"package_name" : "ghi", "installed_date" : "
这里还有另一个答案:。我试过了,但仍然可以;我不知道我的配置出了什么问题
我使用Ubuntu 14.04、Mongo 3.4.1(最新版本)作为服务安装
安装后,我首先运行此命令,就像它的文档一样:
它返回成功添加的用户。然后我重新配置/etc/mongod.conf
storage:
dbPath: /var/lib/mongodb
journal:
enabled: true
systemLog:
destination: file
logAppend: tr
我正在使用一个名为Cdata的工具为SSIS Mongo Connector加载/连接MongoDB数据。使用此工具,我能够提取数据并将数据下载到本地机器
但是,当我尝试加载SQL Server临时表时,会出现以下错误:
选择数据源位于远程计算机上。大容量插入
操作只能在包含此数据源的计算机上执行
位于
由于我只使用30天的试用期,是否有办法将数据复制到云中的我的SQL Server&CData的替代品?下面的链接可能有助于您重新关注您的问题,但您应该了解Mongo db。
错误是来自CData
我们有一个关于刚刚发布的生产网站的紧急情况。我们刚刚受到严重的DDoS攻击,服务器被请求超载。一旦攻击停止,我们就用数据库重新启动服务器,我们注意到“WiredTiger.wt”文件刚刚消失,Mongo不再工作。考虑到“WiredTiger.wt”文件丢失,我想知道我们能做些什么来恢复数据库并让Mongo运行回去?
我们有一个实例,它的MONGO_URL设置为另一个实例,我们有数据库(这里是DDoS攻击发生的地方)
以下是您可以查看的一些日志:
当我尝试在数据库服务器上连接“mongo NAM
我正在尝试在mongoDB数据库中保存文档。然而,我无法做到这一点
下面是我的代码-
db.system.js.save({ _id:"createMultipleUsers", value:
function() {
try {
var query="";
for(var i=0;i<2;i++ ) {
if(i !=0) {
query=q
我试图在mongodb日志文件中只记录执行速度慢的查询,这些查询需要10秒以上的时间
我在管理mongo
mongod --fork --quiet -v --logpath /home/logs/mongod.log --logRotate reopen --logappend
并将配置文件设置为
db.setProfilingLevel(1, 10000)
但是当跟踪日志文件时,它会打印所有查询。我可以看到很多查询,它的运行时间为0毫秒。我还需要添加什么来只获取慢速查询吗?有两个选项可以
我遇到了一个奇怪的情况,我无法连接到docker compose中正在运行的mongo DB。我的撰写文件:
version: '3'
services:
app:
image: myimage:latest
ports:
- "8080:8080"
external_links:
- myname:mongo
environment:
- MONGO_URL=mongodb://myname:27017/test
我发现一些关
标签: Mongodb
mongodb-queryaggregation-frameworkspring-data-mongodb
我有下面的MongoDB聚合查询,并希望有它的等效SpringData MongoDB查询
MongoDB聚合查询:
db.response.aggregate(
// Pipeline
[
// Stage 1 : Group by Emotion & Month
{
$group: {
_id: {
我尝试了“\u id”:“$field”,但不起作用
“\u id”:0使用mongoose完全删除\u id字段
var UserSchema = new mongoose.Schema({
//other fields
},{
minimize: false,
toJSON: {
transform: function (doc, ret) {
ret.newField= ret
到处都找不到答案。这就是问题所在:
我和MongoDB在digitalocean的NodeJS项目上建立了它。我已经安装了NodeJS和MongoDB,还克隆了我的项目。起初,我在8888端口上运行我的项目,它与mongodb配合得很好。然后我将adminuser添加到admin表中,每当我再次运行我的nodejs项目时,我都会收到这个错误
unhandledPromisejectionWarning:MongoError:测试时未授权执行命令
那怎么授权呢?我应该在运行我的应用程序之前进行授权
我有一个运行MongoDB的Ubuntu服务器,运行得非常好,但是服务器磁盘空间不足,崩溃了。我已经清除了它,但现在我无法让Mongo恢复并作为服务运行
这种情况以前发生过,我可以通过执行以下操作来解决:
sudo rm /var/lib/mongodb/mongod.lock
sudo mongod --repair
sudo chown mongodb /tmp/mongodb-27017.sock
sudo service mongod start
但现在,当我这样做时,我在修复过程中遇
我已经使用mongo创建了一个聚合,该聚合计划每5分钟运行一次,并将结果添加到输出集合中。问题是,这些值正在被替换,我想要的是求和。这是我的收藏首次运行后的结果文档:
{
"_id" : {
"ID" : "ID0001",
"NAME" : "NAME0001"
},
"total_a" : 8.0,
"total_b" : 2.0,
"total_c" : 5.0,
"total_d" : 5.0,
"T
我目前正在使用RoboMongo将文档插入到我的MongoDB集合中。有时,我也需要进行更新。我的文档有两个字段导致我出现问题:
createDate和updateDate
我想做的是,当我对文档进行更改时,或者当我插入一个新文档时,提供当前的日期和时间戳。在RoboMongo内部,我正在尝试做以下工作:
{
createdDate: new Date(),
updatedDate: new Date(),
}
我也尝试过用“ISODate()”替换“new Date()”
我有一个嵌套的mongodb talbe及其文档结构,如下所示:
{
"_id" : "35228334dbd1090f6117c5a0011b56b0",
"brasidas" : [
{
"key" : "buy",
"value" : 859193
}
],
"crawl_time" : NumberLong(1526296211997),
"date" : "2018
我有一个包含许多文档的数据库
我有一个例行程序,每天更新这个数据库的新文档。
我指定_id值是因为我希望添加每个唯一的文档,但不希望添加任何重复的文档。
偶尔,我会运行一个更新文件,其中一些将被添加,其他将被匹配,然后每隔一段时间我会得到一个更新
为了提高速度,将使用bulkwrite命令对其进行更新。
从返回的结果中,我可以得到每一个(匹配、修改、升级等)的计数。然而,我希望得到一个修改过的文档列表,这样就可以对它们进行审查,以了解它们为什么没有被升级。
显然,我的钥匙不是唯一的。但是,更新程
我在mongo db中使用laravel 5.6。Laravel安装成功,但当我安装jessenger时,它显示了我的错误,你们可以看到附加的图像。
我也使用了php_mongo.dll,但仍然显示错误。
我需要帮助来安装mongo db
尝试按以下方式安装软件包:
composer require jenssegers/mongodb --ignore-platform-reqs
终于找到了解决办法。您的php_mongodb.dll文件应与php版本兼容 请回答我的上述问题。谢谢
对于高可用性MongoDB、Cassandra或Elasticsearch集群的数据库目录,我应该使用EBS还是EFS?MongoDB、Cassnadra和Elasticsearch群集负责跨节点复制数据(如果它们配置为复制因子>1),因此可能不需要提供EFS复制功能。EFS适用于多台可以访问同一组文件的服务器。Cassandra内置了复制功能,因此该功能没有任何用处。您不希望多个Cassandra节点访问相同的文件,因为每个节点都管理自己的sstables
更不用说Cassandra是磁盘密集
尝试使用mongo命令行工具在MongoDB集合上运行聚合失败,数小时后出现网络错误
time mongo 127.0.0.1/db --eval 'db.coll.aggregate([ {$group: { _id: {someField: "$someField", otherField: "$otherField"}, uniqueIDs: {$addToSet: "$_id"}, count: {$sum: 1} } }, {$match: { count: {"$gt": 1} }
标签: Mongodb
mongodb-queryaggregation-framework
我是MongoDB的新手,我正在尝试根据城市和县的人口对其进行分类。数据样本如下:
{ "_id" : "D", "name" : "Dar-e-salaam", "pop" : 212253 }
{ "_id" : "WF", "name" : "Westfalia", "pop" : 50257}
{ "_id" : "G", "name" : "Gabon", "pop" : 369536 }
{ "_id" : "M", "name" : "Montgomery", "pop" : 10
如何在MongoDB Compass中运行这样的SQL查询
select subject,count(*) from books group by subject
您可以使用来实现这一点
试试看:
db.collection_name.aggregate([{
$group : {
_id : "$subject",
subject : {$first : "$subject"},
count : {$sum : 1}
}
}])
我需要创建在多个集合上运行的聚合,并可以进行弹出式上传、搜索。我有3个系列:
返工:
修理:
{
"_id" : ObjectId("5d54f04dbe5e6275e53a551e"),
"name" : "Repair_1",
"kind" : 2,
"order" : ObjectId("5d352477e340044098d5bb4e"),
},
{
"_id" : ObjectId("5d23f4ba0df6d8476c8384b2"),
标签: Mongodb
mongodb-atlasmongodb-atlas-search
我的团队将数据迁移到mongodb atlas
我有个问题
如何在mongodb atlas中结合$searchbeta和地理搜索。现在,$search(或$searchbeta)阶段支持地理空间查询。
包含地理空间数据的字段必须映射到类型。然后有几种可能的方法来查询数据:,和。不确定MongoDB Atlas是否与on-prem MongoDB不同!你能解释一下你想做什么吗?@BookOfZeus我想搜索距离用户1公里以内的商店,并可以搜索商店名称,按商店名称或距离排序。只要你有访问权限和相同
如何在posts数组中使用其id更新某些对象,例如使用其id更改posts中的第一个对象
{
"_id" : ObjectId("5e3929127b0a7599f0a33b90"),
"posts" : [
{
"title" : "title",
"desc" : "body",
"id" : ObjectId("5e396faeac120790c4561f4b")
},
{
"title" : "
我试图通过使用管道更新来更新MongoDB(4.2)中的数据。困难在于我想根据另一个字段向数组元素添加一个字段。我还想对每个元素都这样做。我知道我可以用Javascript来实现每一个功能,但我想知道是否有更好的方法。这就是我想做的一个例子
之前:
{
"_id" : ObjectId("555555555"),
"messages" : [
{
"author" : {
"userId" : "12345"
我正试图从Talend Open Studio连接到MongoDB数据库,但遇到一些问题。起初,我甚至没有连接到MongoDB的组件(tMongoDBConnection,tMongoDBInput),所以我不得不下载并导入它们(按照这里第一个答案的步骤:)
现在,我有一个名为session\u store的数据库,其中有一个名为tutorialprogresses的集合,该集合具有数组类型的属性events。但是,当我试图从Talend中的该属性获取数据时,它总是返回null
这就是我的工作:
标签: Mongodb
azure-cosmosdb-mongoapi
几天来一直在修补宇宙。它说TTL的工作原理和mongos一样,但显然不是。它可以与int32配合使用。但它完全忽略了日期
作为参考,我在_ts字段上设置了索引,并将expireInSeconds设置为-1。然后,我给每个文档提供它自己的ttl字段,不管我希望它们停留多长时间
由于int系统确实可以工作,所以我继续创建了一些东西,可以将未来的日期转换为秒,这非常好。所以我的另一个问题是,在那么远的地方使用ttl可以吗。我可能希望文档在一个月后自动过期。这需要很多秒才能在飞行中找到答案。在任何给定的