小编Muk*_*oni的帖子

具有多个字段的mongodb文本搜索

我正在尝试使用多个字段进行mongodb全文搜索.我已经在3个字段设置了索引 - 名称,描述,类别,并通过验证

document.collection.getIndexes (),返回 -

[
    {
        "v" : 1,
        "key" : {
            "_id" : 1
        },
        "name" : "_id_",
        "ns" : "document.collection"
    },
    {
        "v" : 1,
        "key" : {
            "name" : 2,
            "description" : 1,
            "category" : 1
        },
        "name" : "name_2_description_1_category_1",
        "ns" : "document.collection",
        "background" : true,
        "safe" : null
    }
]
Run Code Online (Sandbox Code Playgroud)

现在,如果我尝试执行文本搜索,请使用以下命令 -

db.collection.find(  {$text:{$search:'alias'}}  ).limit(10)
Run Code Online (Sandbox Code Playgroud)

收到以下错误消息:

error: {
    "$err" : "Unable to execute query: error processing query: ns=document.collection limit=10 skip=0\nTree: TEXT : query=alias, …
Run Code Online (Sandbox Code Playgroud)

mongodb

12
推荐指数
1
解决办法
2万
查看次数

什么是多语言电子商务网站的高效MongoDB架构设计?

我正在设计一个多语言的电子商务网站.产品具有不同的属性.某些属性对于每种语言(如颜色)都不同,其他属性对于所有语言(如SKU)都是相同的.属性未预定义,例如汽车具有除浓缩咖啡机之外的其他属性.

我想设计数据库模式,以便:

  1. 在语言y中搜索和表示x类别的所有产品的速度很快
  2. 重复数据量很低
  3. 我不想使用带翻译的文件

我正在考虑使用这样的架构:

{
 _id: ObjectID("5dd87bd8d77d094c458d2a33"),

 multi-lingual-properties: ["name", "description"],

 name: { en: "Super fast car",
         nl: "Hele snelle auto"},

 description: { en: "Buy this car",
                nl: "Koop deze auto"},

 price: 20000,

 sku: "SFC106X",

 categories: [ObjectID("4bd87bd8277d094c458d2a43")]
}
Run Code Online (Sandbox Code Playgroud)

是否有更好的替代方案?使用此架构时会遇到什么问题?

database-design schema-design mongodb

9
推荐指数
1
解决办法
6417
查看次数

建议使用node-mysql在现有连接中更改数据库的方法

我试图在节点中的现有连接中更改数据库.连接可能有也可能没有createConnection调用数据库名称.这是代码:

var mysql = require('mysql');


connection = mysql.createConnection( {
    host               : 'localhost',
    user               : 'me',
    password           : 'secret',
    port               : 3306,
    /* database           : 'test' // optional */
});
Run Code Online (Sandbox Code Playgroud)

我正在使用node-mysql lib.目前我正在关闭连接并重新连接.

有没有更好的方法呢?类似于mysql_select_dbPHP?

node.js node-mysql

5
推荐指数
2
解决办法
3146
查看次数