javascript

java

python

c#

node.js

android

reactjs

c++

php

jquery

html

css

git

ruby-on-rails

.net

ios

sql

c

string

ruby

javascript-如何将参数传递给Mongo Scrip

我一直在使用mongo和脚本文件,如下所示:

$ mongo getSimilar.js

我想将一个参数传递给文件:

$ mongo getSimilar.js apples

然后在脚本文件中拾取传入的参数。

var arg  = $1;
print(arg);
trans by 2019-10-15T04:03:12Z

C#-MongoDB连接的.NET最佳实践?

我最近在GitHub上使用C#驱动程序来玩MongoDB(这非常快)。 我正在测试的小型单线程控制台应用程序一切正常。 我可以在8秒钟内运行单线程添加1,000,000个文档(是的,百万个)。 仅当我在for循环范围之外使用连接时,才能获得此性能。 换句话说,我将为每个插入打开连接,而不是为每个插入打开连接。 显然是人为的。

我以为我想提高它的档次,看看它如何在多线程中工作。 我这样做是因为我需要模拟具有多个并发请求的网站。 我在15到50个线程之间旋转,在所有情况下仍然总共插入150,000个文档。 如果我只是让线程运行,每个线程为每个插入操作创建一个新的连接,性能就会停下来。

显然,我需要找到一种共享,锁定或共享连接的方法。 问题就在这里。 连接到MongoDB的最佳实践是什么? 是否应在应用程序的生命周期内保持打开状态(每次操作打开和关闭TCP连接的等待时间都很大)?

是否有人在MongoDB上有任何现实世界或生产经验,尤其是基础连接?

这是我的线程示例,该示例使用为插入操作而锁定的静态连接。 请提供建议,以在网络环境中最大化性能和可靠性!

private static Mongo _mongo;

private static void RunMongoThreaded()
{
    _mongo = new Mongo();
    _mongo.Connect();

    var threadFinishEvents = new List<EventWaitHandle>();

    for(var i = 0; i < 50; i++)
    {
        var threadFinish = new EventWaitHandle(false, EventResetMode.ManualReset);
        threadFinishEvents.Add(threadFinish);

        var thread = new Thread(delegate()
            {
                 RunMongoThread();
                 threadFinish.Set();
            });

        thread.Start();
    }

    WaitHandle.WaitAll(threadFinishEvents.ToArray());
    _mongo.Disconnect();
}

private static void RunMongoThread()
{
    for (var i = 0; i < 3000; i++)
    {
        var db = _mongo.getDB("Sample");
        var collection = db.GetCollection("Users");
        var user = GetUser(i);
        var document = new Document();
        document["FirstName"] = user.FirstName;
        document["LastName"] = user.LastName;

        lock (_mongo) // Lock the connection - not ideal for threading, but safe and seemingly fast
        {
            collection.Insert(document);
        }
    }
}
trans by 2019-10-15T01:01:25Z

身份验证-MongoDB“ root”我们

MongoDB是否有超级UNIX之类的“ root”用户? 我一直在看[http://docs.mongodb.org/manual/reference/user-privileges/],并尝试了许多组合,但是它们似乎都缺少某个区域或另一个区域。 当然,在上面列出的所有角色中,首先要有一个角色。

trans by 2019-10-14T01:39:09Z

并发性-MongoDB在写时锁定到什么级别? (或:“每个连接”是什么意思

在mongodb文档中,它说:

从2.2版开始,MongoDB针对大多数读写操作在每个数据库的基础上实现锁。 一些全局操作(通常是涉及多个数据库的短暂操作)仍然需要全局“实例”锁。 在2.2之前,每个mongod实例只有一个“全局”锁。

这是否意味着在我有3个从网络上运行的不同应用程序到[mongodb:// localhost / test]的连接的情况下-一次只能写一个? 还是只是每个连接?

IOW:是每个连接,还是整个/ test数据库在写入时都被锁定了?

trans by 2019-10-14T00:48:21Z

通过Mongoose JS的MongoDB-什么是findByID?

我正在用ExpressJS,PassportJS,MongoDB和MongooseJS编写NodeJS服务器。 我只是设法让PassportJS使用通过Mongoose获得的用户数据进行身份验证。

但是要使其正常工作,我必须使用如下所示的“ findById”函数。

var UserModel = db.model('User',UserSchema);

UserModel.findById(id, function (err, user) { < SOME CODE > } );

UserModel是猫鼬的模型。 我早些时候声明了findById。 所以我想UserModel.findById()是猫鼬模型的一种方法?

findById是做什么的,并且上面有文档吗? 我在谷歌上搜索了一下,但没有找到任何东西。

trans by 2019-10-13T22:36:21Z

mongodb-如何按插入时间对Meteor集合进行排序?

我正在使用Meteor进行第一个项目,并且在排序时遇到了一些困难。

我有一个表单,用户输入格言,然后将其显示在列表中。 当前,最近的格言自动显示在列表的底部。 有没有一种简单的方法可以将最新的信息显示在列表的顶部?

我试过了:

   Template.list.aphorisms = function () {
    return Aphorisms.find({}, {sort: {$natural:1}});
};

感到很困惑,因为Meteor文档没有太多示例。

trans by 2019-10-12T06:42:13Z

Mongodb查询选择具有给定键的记录

我数据库中的记录是

{"_id":"1","fn":"sagar","ln":"Varpe"}

{"_id":"1","fn":"sag","score":"10"}

{"_id":"1","ln":"ln1","score":"10"}

{"_id":"1","ln":"ln2"} 

我需要设计一个MongoDB查询来查找具有给定键的所有记录。

例如,如果我将ln作为参数传递给查询,则shuold将返回其中ln是键的所有记录。 结果将是

{"_id":"1","fn":"sagar","ln":"Varpe"}

{"_id":"1","ln":"ln1","score":"10"}

{"_id":"1","ln":"ln2"} 
trans by 2019-10-12T05:36:12Z

mongodb-如何将mongodump用于1个集合

如何使用mongodump将单个集合从一个数据库移动到另一个数据库?

我应该如何使用该命令及其选项?

trans by 2019-10-11T21:28:14Z

加入-MongoDB在上查询多个集合

users
{
 "_id":"12345",
 "admin":1
},
{
 "_id":"123456789",
 "admin":0
}

posts
{
 "content":"Some content",
 "owner_id":"12345",
 "via":"facebook"
},
{
 "content":"Some other content",
 "owner_id":"123456789",
 "via":"facebook"
}

这是我的mongodb的示例。 我想获取所有具有“ via”属性等于“ facebook”并由管理员(“ admin”:1)发布的帖子。 我不知道如何获取此查询。 由于mongodb不是关系数据库,因此无法执行联接操作。 有什么解决方案?

trans by 2019-10-10T19:39:40Z

python-使用pymong在mongodb中按ObjectId搜索

我需要使用pymongo用python搜索ObjectId,但是我总是会收到此错误。 任何想法如何搜索?

import pymongo
from pymongo import MongoClient
from pymongo import ObjectId

gate = collection.find({'_id': ObjectId(modem["dis_imei"])})
print gate

    Traceback (most recent call last):
  File "C:\Users\gerswin\Documents\Proyectos\Demonio py\test.py", line 2, in <module>
    import pymongo
  File "C:\Python27\lib\site-packages\pymongo\__init__.py", line 80, in <module>
    from pymongo.connection import Connection
  File "C:\Python27\lib\site-packages\pymongo\connection.py", line 39, in <module>
    from pymongo.mongo_client import MongoClient
  File "C:\Python27\lib\site-packages\pymongo\mongo_client.py", line 45, in <module>
    from pymongo import (auth,
  File "C:\Python27\lib\site-packages\pymongo\database.py", line 22, in <module>
    from pymongo.collection import Collection
  File "C:\Python27\lib\site-packages\pymongo\collection.py", line 25, in <module>
    from pymongo.cursor import Cursor
  File "C:\Python27\lib\site-packages\pymongo\cursor.py", line 19, in <module>
    from bson import RE_TYPE
ImportError: cannot import name RE_TYPE
trans by 2019-10-10T06:15:41Z

node.js-TypeError:db.collection不是函数

我正在尝试将数据发布到在mLab上创建的数据库中,但出现此错误,但我不知道出了什么问题。我也阅读了有关此主题的先前询问的问题,但由于无法解决错误 我是新来的。 因此,我在此处发布了我要实现的代码,该代码取自本教程[https://medium.freecodecamp.com/building-a-simple-node-js-api-in-under-30-minutes -a07ea9e390d2。]

server.js

const express = require('express');
const MongoClient = require('mongodb').MongoClient;
const bodyParser = require('body-parser');

const db = require('./config/db');


const app = express();

const port = 8000;

app.use(bodyParser.urlencoded({extened:true}));


MongoClient.connect(db.url,(err,database) =>{

    if (err) return console.log(err)
    require('./app/routes')(app,{});
    app.listen(port,() => {
        console.log("We are live on"+port); 
    });

})

db.js

module.exports = {
  url : "mongodb://JayTanna:Jay12345@ds147510.mlab.com:47510/testing"
};

index.js

const noteroutes = require('./note_routes');

module.exports = function(app,db)
{
    noteroutes(app,db);

};

note_routes.js

module.exports = function(app, db) {
  app.post('/notes', (req, res) => {
    const note = { text: req.body.body, title: req.body.title };
    db.collection('notes').insert(note, (err, result) => {
      if (err) { 
        res.send({ 'error': 'An error has occurred' }); 
      } else {
        res.send(result.ops[0]);
      }
    });
  });
};
trans by 2019-10-09T09:52:07Z

MongoDB如何避免SQL注入混乱?

我读了我值得信赖的O'Reilly书,发现一段关于Mongo本质上如何避免SQL注入式缺陷的麻烦的文章。

以我的直觉,我认为我理解这一点。 如果将未经消毒的var传递到查询中,则它们无法通过UNIONJOIN,查询转注释等方式突破面向文档的查询结构。

MongoDB如何避免SQL注入混乱? 只是此查询语法的本质吗?

trans by 2019-10-09T06:44:50Z

MongoDb:$ push / $ addtos之间的区别

我阅读了MongoDb中的文档,并使用了简单的证明,但我只发现:Push正在对数组进行排序,但不是addtoSet

对我来说在视觉上是一样的,我不知道区别。

谁能解释我的区别?

另一个想法是,如果它是西班牙语或简单的英语,我会予以保留。

trans by 2019-10-08T21:34:09Z

node.js-保持打开MongoDB数据库连接

在许多使用MongoDB的介绍性示例中,您将看到类似以下的代码:

var MongoClient = require('mongodb').MongoClient;
MongoClient.connect("mongodb://localhost:port/adatabase", function(err, db)
{
    /* Some operation... CRUD, etc. */
    db.close();
});

如果MongoDB与其他任何数据库系统一样,则closeclose操作通常在时间上很昂贵。

因此,我的问题是这样的:只需简单地一次执行close,将返回的close值分配给某个全局模块就可以了,模块中具有各种功能的功能可以进行各种与数据库相关的工作(将文档插入集合,更新文档等)。 等),然后在应用程序的其他部分调用它们(从而重新使用该db值),然后在完成应用程序后再执行open\connect

换句话说,一次完成closeclose-并非每次都需要进行一些与数据库相关的操作。 而且,当您实际上已完成所有与数据库相关的工作时,您将继续使用最初的open\connect中返回的db对象,最后将其与close一起使用,直到最后将其丢弃。

显然,由于所有I / O都是异步的,因此在close之前,您需要确保在发出close761之前完成了最后一个数据库操作。 缺少一些东西,因为我是MongoDB的新手。 谢谢!

trans by 2019-10-08T13:12:25Z

c#-将枚举存储为字符串在MongoDB中

有没有一种方法可以将Enums存储为字符串名称而不是顺序值?

例:

想象一下我有这个枚举:

public enum Gender
{
    Female,
    Male
}

现在,如果存在一些虚构的用户

...
Gender gender = Gender.Male;
...

它将以{...“ Gender”:1 ...}的形式存储在MongoDb数据库中

但我更喜欢这样的东西{...“ Gender”:“ Male” ...}

这可能吗? 自定义映射,反射技巧等。

我的情况是:我在POCO上使用了强类型的集合(嗯,我标记了AR,并偶尔使用了多态性)。 我以工作单元的形式有一个薄的数据访问抽象层。 因此,我没有序列化/反序列化每个对象,但是可以(并且确实)定义一些ClassMap。 我使用官方的MongoDb驱动程序+ fluent-mongodb。

trans by 2019-10-08T03:50:59Z

node.js-猫鼬中哪种SchemaType最适合时间戳?

我正在使用Mongoose,MongoDB和Node。

我想定义一个架构,其中的一个字段是date \ timestamp。

我想使用此字段来返回最近5分钟内已更新的所有记录。

由于在Mongoose中我无法使用Timestamp()方法,因此我了解到,我唯一的选择是使用以下Javascript方法:

time : { type: Number, default: (new Date()).getTime() } 

这可能不是查询庞大数据库的最有效方法。如果有人可以分享一种更有效的实施方法,我将非常感激。

有什么办法可以用Mongoose来实现,并且可以使用MongoDB时间戳吗?

trans by 2019-10-06T17:17:24Z

MongoDB存储过程等效

我有一个很大的CSV文件,其中包含商店列表,其中一个字段是ZipCode。我有一个名为ZipCodes的单独的MongoDB数据库,该数据库存储任何给定邮政编码的纬度和经度。

在SQL Server中,我将执行一个称为InsertStore的存储过程,该过程将对ZipCodes表进行查找以获取相应的纬度和经度,并将数据插入到Stores表中。

有什么类似于MongoDB中存储过程的概念吗?基本上,对于每个插入,我需要查找该存储的纬度和经度,并保存它们。

我对Map / Reduce的概念不太熟悉,但这是否有意义?谢谢!

trans by 2019-10-06T13:37:05Z

无法将MongoDB作为服务启动

我已经为MongoDB开发了几个月了,并希望将其作为服务安装在Windows 7 Enterprise计算机上。 以下是我执行以创建服务的命令:

"D:\Milvia Systems\Development\MongoDB\mongod.exe" --logpath "D:\Milvia Systems\Development\MongoDB\logs\DBLog.log" --logappend --dbpath "D:\Milvia Systems\Development\MongoDB\db" -vvv --reinstall

但是,每当我使用net start“ MongoDB”或服务控制面板时,都会出现以下错误:

错误1053:服务未响应启动或控制   及时提出要求。

环境:Windows 7 Enterprise 64bitMongoDB:1.6.3 PDFile版本4.5

trans by 2019-10-05T19:01:55Z

是否有MySql的样例MongoDB数据库?

作为Mongo的新手,我正在寻找可导入和使用的样例MongoDB数据库。对于mysql而言,有些东西与对MSSQL而言是Northwind的东西。

有一个吗? (我在[http://www.mongodb.org]上找不到任何参考,我的谷歌搜索帮助也没有)

trans by 2019-10-05T18:23:09Z

mongodb-如何在Mongoose / Node.js中同时保存多个文档?

目前,我使用保存添加单个文档。 假设我有一系列文档希望存储为单个对象。 有没有一种方法可以通过单个函数调用将它们全部添加,然后在完成后获得单个回调? 我可以单独添加所有文档,但是管理回调以解决所有问题。

trans by 2019-10-05T11:34:51Z

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 下一页 共20页