我正在尝试使用多个字段进行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) 我正在设计一个多语言的电子商务网站.产品具有不同的属性.某些属性对于每种语言(如颜色)都不同,其他属性对于所有语言(如SKU)都是相同的.属性未预定义,例如汽车具有除浓缩咖啡机之外的其他属性.
我想设计数据库模式,以便:
我正在考虑使用这样的架构:
{
_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)
是否有更好的替代方案?使用此架构时会遇到什么问题?
我试图在节点中的现有连接中更改数据库.连接可能有也可能没有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?