1

谁能告诉我 yii mongodb 中 like 的语法。我想在 mongo db 集合中使用 like as in sql 搜索特定名称。我们如何为此编写查询。

4

3 回答 3

1

您可以使用 MongoRegex 对象:http ://php.net/manual/en/class.mongoregex.php ,它与 YiiMongoDBSuite 等组件兼容。

它使用正则表达式在 MongoDB%sammaye%中的 SQL =中进行匹配。new MongoRegex('/sammaye/')

编辑

sammaye%您可以new MongoRegex('/^sammaye/')按照此处的要求进行搜索: https ://stackoverflow.com/questions/13194639/like-function-with-yii-mongo-db

于 2012-11-02T10:17:44.483 回答
0

没有类似的支持。但根据您的要求,您可以使用regex support

下面是他们的SQL 到 MongoDB 查询映射图表中的示例。

SELECT * FROM users WHERE name LIKE "%Joe%" = db.users.find({name:/Joe/})
SELECT * FROM users WHERE name LIKE "Joe%" = db.users.find({name:/^Joe/})
于 2012-11-02T10:07:42.250 回答
0

如果你在 Yii2 中使用 ActiveRecord,你应该在 where 条件中选择简单的like部分:

ActiveRecord::findOne(['like', 'field', 'query'])

更多信息参见相关文档:http ://www.yiiframework.com/doc-2.0/yii-db-queryinterface.html#where()-detail

或者当然也有可用的PHP 的 MongoDB命令:

$mongo = \Yii::$app->mongodb;
$collection = $mongo->getCollection('your collection name');
$result = $collection->find(['field' => new \MongoDB\BSON\Regex('^stratswith')]);

希望能帮助到你!

于 2017-07-11T07:44:06.903 回答